Skip to content

feat(riscv64) Support multiple mmio devices - #2613

Draft
sbutz wants to merge 2 commits into
hermit-os:mainfrom
sbutz:sb/riscv_multiple_mmio_devices
Draft

feat(riscv64) Support multiple mmio devices#2613
sbutz wants to merge 2 commits into
hermit-os:mainfrom
sbutz:sb/riscv_multiple_mmio_devices

Conversation

@sbutz

@sbutz sbutz commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

While there remove unsafe code to a minimum.

Will conflict with #2547.

@sbutz
sbutz force-pushed the sb/riscv_multiple_mmio_devices branch from d0f890d to 0d3c76c Compare August 8, 2026 20:02

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Benchmark Results

Details
Benchmark Current: 0d3c76c Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 80.35 s 80.34 s 1.00
startup_benchmark File Size 0.76 MB 0.80 MB 0.96
Startup Time - 1 core 0.75 s (±0.04 s) 0.75 s (±0.02 s) 1.00
Startup Time - 2 cores 0.74 s (±0.02 s) 0.74 s (±0.02 s) 1.00
Startup Time - 4 cores 0.76 s (±0.02 s) 0.74 s (±0.02 s) 1.02
multithreaded_benchmark Build Time 81.17 s 82.11 s 0.99
multithreaded_benchmark File Size 0.87 MB 0.86 MB 1.02
Multithreaded Pi Efficiency - 2 Threads 89.07 % (±6.56 %) 85.89 % (±6.61 %) 1.04
Multithreaded Pi Efficiency - 4 Threads 43.82 % (±3.24 %) 43.43 % (±2.56 %) 1.01
Multithreaded Pi Efficiency - 8 Threads 25.67 % (±1.28 %) 25.76 % (±1.53 %) 1.00
micro_benchmarks Build Time 78.10 s 80.40 s 0.97
micro_benchmarks File Size 0.88 MB 0.86 MB 1.02
Scheduling time - 1 thread 65.29 ticks (±3.70 ticks) 62.65 ticks (±4.06 ticks) 1.04
Scheduling time - 2 threads 38.22 ticks (±6.47 ticks) 34.08 ticks (±4.10 ticks) 1.12
Micro - Time for syscall (getpid) 4.32 ticks (±0.83 ticks) 3.45 ticks (±0.58 ticks) 1.25
Memcpy speed - (built_in) block size 4096 84885.29 MByte/s (±58562.07 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 1.03
Memcpy speed - (built_in) block size 1048576 30413.48 MByte/s (±24501.86 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 27767.05 MByte/s (±22977.79 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.05
Memset speed - (built_in) block size 4096 84885.55 MByte/s (±58562.21 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 1.03
Memset speed - (built_in) block size 1048576 31135.01 MByte/s (±24927.20 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 28483.33 MByte/s (±23384.55 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.05
Memcpy speed - (rust) block size 4096 75108.25 MByte/s (±52523.11 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 1.01
Memcpy speed - (rust) block size 1048576 30129.51 MByte/s (±24404.83 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 0.99
Memcpy speed - (rust) block size 16777216 27615.98 MByte/s (±22823.84 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 1.00
Memset speed - (rust) block size 4096 75619.61 MByte/s (±52886.65 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 1.02
Memset speed - (rust) block size 1048576 30879.69 MByte/s (±24844.97 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 0.99
Memset speed - (rust) block size 16777216 28352.92 MByte/s (±23261.22 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 1.00
alloc_benchmarks Build Time 76.05 s 74.76 s 1.02
alloc_benchmarks File Size 0.84 MB 0.87 MB 0.96
Allocations - Allocation success 91.34 % 91.31 % 1.00
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.54 % 61.44 % 1.00
Allocations - Average Allocation time 2554.93 Ticks (±780.63 Ticks) 5860.58 Ticks (±98.43 Ticks) 0.44
Allocations - Average Allocation time (no fail) 3613.08 Ticks (±688.01 Ticks) 6554.81 Ticks (±92.86 Ticks) 0.55
Allocations - Average Deallocation time 694.86 Ticks (±125.73 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.38
mutex_benchmark Build Time 80.98 s 79.82 s 1.01
mutex_benchmark File Size 0.88 MB 0.86 MB 1.02
Mutex Stress Test Average Time per Iteration - 1 Threads 12.10 ns (±0.36 ns) 12.10 ns (±0.41 ns) 1.00
Mutex Stress Test Average Time per Iteration - 2 Threads 40.70 ns (±1.93 ns) 40.26 ns (±1.68 ns) 1.01

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