Skip to content

feat(xtask): Search in system paths for OpenSBI binary - #2610

Merged
mkroening merged 1 commit into
hermit-os:mainfrom
Gelbpunkt:xtask-opensbi
Aug 12, 2026
Merged

feat(xtask): Search in system paths for OpenSBI binary#2610
mkroening merged 1 commit into
hermit-os:mainfrom
Gelbpunkt:xtask-opensbi

Conversation

@Gelbpunkt

@Gelbpunkt Gelbpunkt commented Aug 6, 2026

Copy link
Copy Markdown
Member

This aligns the locations where xtask searches for the OpenSBI binary with the loader and uses the system-wide paths rather than a local directory.

See:

@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: f6626ed Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 81.80 s 80.34 s 1.02
startup_benchmark File Size 0.76 MB 0.80 MB 0.96
Startup Time - 1 core 0.73 s (±0.02 s) 0.75 s (±0.02 s) 0.98
Startup Time - 2 cores 0.74 s (±0.02 s) 0.74 s (±0.02 s) 1.01
Startup Time - 4 cores 0.75 s (±0.02 s) 0.74 s (±0.02 s) 1.01
multithreaded_benchmark Build Time 79.77 s 82.11 s 0.97
multithreaded_benchmark File Size 0.87 MB 0.86 MB 1.02
Multithreaded Pi Efficiency - 2 Threads 89.19 % (±6.93 %) 85.89 % (±6.61 %) 1.04
Multithreaded Pi Efficiency - 4 Threads 43.99 % (±2.96 %) 43.43 % (±2.56 %) 1.01
Multithreaded Pi Efficiency - 8 Threads 25.66 % (±1.46 %) 25.76 % (±1.53 %) 1.00
micro_benchmarks Build Time 77.24 s 80.40 s 0.96
micro_benchmarks File Size 0.88 MB 0.86 MB 1.02
Scheduling time - 1 thread 64.49 ticks (±2.32 ticks) 62.65 ticks (±4.06 ticks) 1.03
Scheduling time - 2 threads 35.90 ticks (±5.71 ticks) 34.08 ticks (±4.10 ticks) 1.05
Micro - Time for syscall (getpid) 4.40 ticks (±0.64 ticks) 3.45 ticks (±0.58 ticks) 1.28
Memcpy speed - (built_in) block size 4096 82746.72 MByte/s (±57278.28 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 1.00
Memcpy speed - (built_in) block size 1048576 30551.38 MByte/s (±24635.83 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 1.00
Memcpy speed - (built_in) block size 16777216 29421.90 MByte/s (±24179.14 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.12
Memset speed - (built_in) block size 4096 82825.75 MByte/s (±57336.99 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 1.01
Memset speed - (built_in) block size 1048576 31308.65 MByte/s (±25077.81 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 1.00
Memset speed - (built_in) block size 16777216 30188.56 MByte/s (±24620.64 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.11
Memcpy speed - (rust) block size 4096 77176.84 MByte/s (±53809.39 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 1.04
Memcpy speed - (rust) block size 1048576 30630.46 MByte/s (±24707.89 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 1.01
Memcpy speed - (rust) block size 16777216 29599.87 MByte/s (±24348.40 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 1.07
Memset speed - (rust) block size 4096 77880.13 MByte/s (±54255.34 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 1.05
Memset speed - (rust) block size 1048576 31380.01 MByte/s (±25144.08 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 1.01
Memset speed - (rust) block size 16777216 30373.51 MByte/s (±24794.36 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 1.07
alloc_benchmarks Build Time 76.52 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 2709.22 Ticks (±662.52 Ticks) 5860.58 Ticks (±98.43 Ticks) 0.46
Allocations - Average Allocation time (no fail) 3732.72 Ticks (±583.53 Ticks) 6554.81 Ticks (±92.86 Ticks) 0.57
Allocations - Average Deallocation time 745.83 Ticks (±101.87 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.41
mutex_benchmark Build Time 92.90 s 79.82 s 1.16
mutex_benchmark File Size 0.88 MB 0.86 MB 1.02
Mutex Stress Test Average Time per Iteration - 1 Threads 12.12 ns (±0.52 ns) 12.10 ns (±0.41 ns) 1.00
Mutex Stress Test Average Time per Iteration - 2 Threads 40.28 ns (±2.19 ns) 40.26 ns (±1.68 ns) 1.00

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

@mkroening mkroening left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! :)

@mkroening mkroening self-assigned this Aug 11, 2026
@mkroening

mkroening commented Aug 11, 2026

Copy link
Copy Markdown
Member

I added an option for local files so we macOS users can still run RISC-V VMs. :D

@mkroening
mkroening enabled auto-merge August 11, 2026 21:02
@mkroening
mkroening added this pull request to the merge queue Aug 11, 2026
@mkroening
mkroening removed this pull request from the merge queue due to a manual request Aug 11, 2026
This aligns the locations where xtask searches for the OpenSBI binary
with the loader and uses the system-wide paths rather than a local
directory.
@mkroening
mkroening enabled auto-merge August 12, 2026 00:01
@mkroening
mkroening added this pull request to the merge queue Aug 12, 2026
Merged via the queue into hermit-os:main with commit ec60788 Aug 12, 2026
19 of 39 checks passed
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.

2 participants