Skip to content

refactor(interrupts): construct handler mappings during device init#2473

Open
cagatay-y wants to merge 1 commit into
hermit-os:mainfrom
cagatay-y:refactor-int-at-init
Open

refactor(interrupts): construct handler mappings during device init#2473
cagatay-y wants to merge 1 commit into
hermit-os:mainfrom
cagatay-y:refactor-int-at-init

Conversation

@cagatay-y

Copy link
Copy Markdown
Contributor

MSI-X will require support for more than one interrupt vector per driver and more information from the driver side to decide how to handle the interrupts correctly. Revise how the mappings are constructed to make the construction more flexible and prepare for that use case.

MSI-X will require support for more than one interrupt vector per driver
and more information from the driver side to decide how to handle the
interrupts correctly. Revise how the mappings are constructed to make
the construction more flexible and prepare for that use case.
@mkroening mkroening self-assigned this Jun 9, 2026
@mkroening mkroening self-requested a review June 9, 2026 13:10

@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: 4e80af2 Previous: 28c7089 Performance Ratio
startup_benchmark Build Time 119.90 s 115.28 s 1.04
startup_benchmark File Size 0.73 MB 0.77 MB 0.95
Startup Time - 1 core 0.96 s (±0.03 s) 1.00 s (±0.03 s) 0.96
Startup Time - 2 cores 0.94 s (±0.07 s) 1.04 s (±0.05 s) 0.90
Startup Time - 4 cores 0.98 s (±0.03 s) 1.00 s (±0.06 s) 0.98
multithreaded_benchmark Build Time 112.30 s 118.33 s 0.95
multithreaded_benchmark File Size 0.87 MB 0.87 MB 0.99
Multithreaded Pi Efficiency - 2 Threads 91.76 % (±14.27 %) 92.34 % (±11.70 %) 0.99
Multithreaded Pi Efficiency - 4 Threads 46.32 % (±7.45 %) 45.83 % (±5.87 %) 1.01
Multithreaded Pi Efficiency - 8 Threads 25.13 % (±4.13 %) 25.71 % (±3.50 %) 0.98
micro_benchmarks Build Time 109.43 s 96.08 s 1.14
micro_benchmarks File Size 0.87 MB 0.88 MB 0.99
Scheduling time - 1 thread 73.26 ticks (±3.40 ticks) 73.85 ticks (±3.74 ticks) 0.99
Scheduling time - 2 threads 40.37 ticks (±4.15 ticks) 41.46 ticks (±4.37 ticks) 0.97
Micro - Time for syscall (getpid) 3.12 ticks (±0.23 ticks) 3.08 ticks (±0.19 ticks) 1.01
Memcpy speed - (built_in) block size 4096 74348.29 MByte/s (±51339.78 MByte/s) 73208.48 MByte/s (±50616.82 MByte/s) 1.02
Memcpy speed - (built_in) block size 1048576 29637.82 MByte/s (±24317.30 MByte/s) 29392.18 MByte/s (±24125.47 MByte/s) 1.01
Memcpy speed - (built_in) block size 16777216 27522.30 MByte/s (±22660.84 MByte/s) 23751.74 MByte/s (±19605.56 MByte/s) 1.16
Memset speed - (built_in) block size 4096 74870.29 MByte/s (±51711.02 MByte/s) 73313.38 MByte/s (±50689.78 MByte/s) 1.02
Memset speed - (built_in) block size 1048576 30369.90 MByte/s (±24724.64 MByte/s) 30169.43 MByte/s (±24587.38 MByte/s) 1.01
Memset speed - (built_in) block size 16777216 28244.77 MByte/s (±23074.90 MByte/s) 24402.29 MByte/s (±20008.02 MByte/s) 1.16
Memcpy speed - (rust) block size 4096 67227.68 MByte/s (±47092.38 MByte/s) 66427.37 MByte/s (±46490.49 MByte/s) 1.01
Memcpy speed - (rust) block size 1048576 29533.89 MByte/s (±24256.71 MByte/s) 29425.11 MByte/s (±24175.79 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 27656.79 MByte/s (±22788.75 MByte/s) 24403.77 MByte/s (±20179.96 MByte/s) 1.13
Memset speed - (rust) block size 4096 67482.80 MByte/s (±47222.85 MByte/s) 66262.32 MByte/s (±46403.75 MByte/s) 1.02
Memset speed - (rust) block size 1048576 30284.64 MByte/s (±24695.25 MByte/s) 30172.11 MByte/s (±24599.55 MByte/s) 1.00
Memset speed - (rust) block size 16777216 28370.26 MByte/s (±23195.43 MByte/s) 25069.95 MByte/s (±20590.63 MByte/s) 1.13
alloc_benchmarks Build Time 92.62 s 91.43 s 1.01
alloc_benchmarks File Size 0.81 MB 0.85 MB 0.96
Allocations - Allocation success 100.00 % 100.00 % 1
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 100.00 % 100.00 % 1
Allocations - Average Allocation time 4841.00 Ticks (±1330.31 Ticks) 4633.96 Ticks (±62.19 Ticks) 1.04
Allocations - Average Allocation time (no fail) 4841.00 Ticks (±1330.31 Ticks) 4633.96 Ticks (±62.19 Ticks) 1.04
Allocations - Average Deallocation time 890.95 Ticks (±411.26 Ticks) 683.28 Ticks (±99.25 Ticks) 1.30
mutex_benchmark Build Time 93.22 s 90.68 s 1.03
mutex_benchmark File Size 0.87 MB 0.88 MB 0.99
Mutex Stress Test Average Time per Iteration - 1 Threads 13.70 ns (±0.61 ns) 13.82 ns (±0.84 ns) 0.99
Mutex Stress Test Average Time per Iteration - 2 Threads 18.78 ns (±9.89 ns) 14.48 ns (±0.75 ns) 1.30

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.

2 participants