Skip to content

Conversation

Gelbpunkt
Copy link
Member

@Gelbpunkt Gelbpunkt commented Sep 19, 2025

RISC-V has no PCI support at the moment, so we cannot test it there, but it will at least compile fine now.

Depends on #1938 and includes commits from there

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
@Gelbpunkt Gelbpunkt marked this pull request as draft September 19, 2025 14:40
This lets the driver be used on all architectures, not just x86_64.

While at it, drop the udelay requirement, it boils down to a spin loop
and we already have a spin loop here.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark Results

Benchmark Current: e40bfb8 Previous: 40e0c6e Performance Ratio
startup_benchmark Build Time 132.68 s 136.14 s 0.97
startup_benchmark File Size 0.90 MB 0.90 MB 1
Startup Time - 1 core 0.92 s (±0.03 s) 0.94 s (±0.02 s) 0.98
Startup Time - 2 cores 0.92 s (±0.01 s) 0.92 s (±0.03 s) 1.00
Startup Time - 4 cores 0.92 s (±0.02 s) 0.96 s (±0.03 s) 0.96
multithreaded_benchmark Build Time 132.89 s 140.97 s 0.94
multithreaded_benchmark File Size 1.01 MB 1.01 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 2.93 % (±14.05 %) 2.17 % (±10.40 %) 1.35
Multithreaded Pi Efficiency - 4 Threads 1.42 % (±6.83 %) 1.51 % (±7.26 %) 0.94
Multithreaded Pi Efficiency - 8 Threads 0.71 % (±3.42 %) 0.77 % (±3.68 %) 0.93
micro_benchmarks Build Time 164.33 s 171.42 s 0.96
micro_benchmarks File Size 1.01 MB 1.01 MB 1.00
Scheduling time - 1 thread 3.46 ticks (±16.59 ticks) 2.77 ticks (±13.29 ticks) 1.25
Scheduling time - 2 threads 1.58 ticks (±7.59 ticks) 1.75 ticks (±8.39 ticks) 0.90
Micro - Time for syscall (getpid) 0.19 ticks (±0.90 ticks) 0.12 ticks (±0.58 ticks) 1.54
Memcpy speed - (built_in) block size 4096 1717.03 MByte/s (±8241.76 MByte/s) 1816.86 MByte/s (±8720.93 MByte/s) 0.95
Memcpy speed - (built_in) block size 1048576 560.00 MByte/s (±2687.98 MByte/s) 745.11 MByte/s (±3576.55 MByte/s) 0.75
Memcpy speed - (built_in) block size 16777216 207.59 MByte/s (±996.42 MByte/s) 219.45 MByte/s (±1053.36 MByte/s) 0.95
Memset speed - (built_in) block size 4096 1518.99 MByte/s (±7291.14 MByte/s) 1875.00 MByte/s (±9000.00 MByte/s) 0.81
Memset speed - (built_in) block size 1048576 1269.16 MByte/s (±6091.95 MByte/s) 1029.20 MByte/s (±4940.18 MByte/s) 1.23
Memset speed - (built_in) block size 16777216 888.57 MByte/s (±4265.14 MByte/s) 924.64 MByte/s (±4438.25 MByte/s) 0.96
Memcpy speed - (rust) block size 4096 851.06 MByte/s (±4085.11 MByte/s) 1411.76 MByte/s (±6776.47 MByte/s) 0.60
Memcpy speed - (rust) block size 1048576 572.95 MByte/s (±2750.16 MByte/s) 693.90 MByte/s (±3330.73 MByte/s) 0.83
Memcpy speed - (rust) block size 16777216 206.74 MByte/s (±992.37 MByte/s) 219.67 MByte/s (±1054.40 MByte/s) 0.94
Memset speed - (rust) block size 4096 1500.00 MByte/s (±7200.00 MByte/s) 1791.04 MByte/s (±8597.01 MByte/s) 0.84
Memset speed - (rust) block size 1048576 1395.04 MByte/s (±6696.20 MByte/s) 1105.00 MByte/s (±5304.01 MByte/s) 1.26
Memset speed - (rust) block size 16777216 876.08 MByte/s (±4205.18 MByte/s) 954.96 MByte/s (±4583.81 MByte/s) 0.92
alloc_benchmarks Build Time 154.87 s 157.27 s 0.98
alloc_benchmarks File Size 0.97 MB 0.97 MB 1.00
Allocations - Allocation success 2.00 % (±13.86 %) 2.00 % (±13.86 %) 1
Allocations - Deallocation success 1.40 % (±9.67 %) 1.40 % (±9.67 %) 1.00
Allocations - Pre-fail Allocations 2.00 % (±13.86 %) 2.00 % (±13.86 %) 1
Allocations - Average Allocation time 243.61 Ticks (±1688.10 Ticks) 262.62 Ticks (±1819.84 Ticks) 0.93
Allocations - Average Allocation time (no fail) 243.61 Ticks (±1688.10 Ticks) 262.62 Ticks (±1819.84 Ticks) 0.93
Allocations - Average Deallocation time 16.26 Ticks (±112.67 Ticks) 17.05 Ticks (±118.18 Ticks) 0.95
mutex_benchmark Build Time 163.62 s 159.65 s 1.02
mutex_benchmark File Size 1.01 MB 1.01 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 0.36 ns (±2.49 ns) 0.36 ns (±2.49 ns) 1
Mutex Stress Test Average Time per Iteration - 2 Threads 0.36 ns (±2.49 ns) 0.38 ns (±2.63 ns) 0.95

This comment was automatically generated by workflow using github-action-benchmark.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant