Skip to content

Fix memory unmap for Risc/ARM#2466

Open
zyuiop wants to merge 4 commits into
hermit-os:mainfrom
zyuiop:fix/risc-mem-unmapping
Open

Fix memory unmap for Risc/ARM#2466
zyuiop wants to merge 4 commits into
hermit-os:mainfrom
zyuiop:fix/risc-mem-unmapping

Conversation

@zyuiop
Copy link
Copy Markdown
Contributor

@zyuiop zyuiop commented Jun 5, 2026

When testing #2462 on ARM/Risc, I encountered page faults when trying to map pages.

Turns out that the previous unmapping was wrongly recorded.

This PR fixes that.

@zyuiop zyuiop mentioned this pull request Jun 5, 2026
2 tasks
@zyuiop zyuiop force-pushed the fix/risc-mem-unmapping branch from 3ed66e8 to 2274e53 Compare June 5, 2026 20:43
Copy link
Copy Markdown

@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

Details
Benchmark Current: 2274e53 Previous: 28c7089 Performance Ratio
startup_benchmark Build Time 108.73 s 115.28 s 0.94
startup_benchmark File Size 0.77 MB 0.77 MB 1.00
Startup Time - 1 core 0.94 s (±0.03 s) 1.00 s (±0.03 s) 0.94
Startup Time - 2 cores 1.00 s (±0.05 s) 1.04 s (±0.05 s) 0.96
Startup Time - 4 cores 0.99 s (±0.03 s) 1.00 s (±0.06 s) 0.99
multithreaded_benchmark Build Time 110.66 s 118.33 s 0.94
multithreaded_benchmark File Size 0.87 MB 0.87 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 91.29 % (±14.27 %) 92.34 % (±11.70 %) 0.99
Multithreaded Pi Efficiency - 4 Threads 45.05 % (±6.24 %) 45.83 % (±5.87 %) 0.98
Multithreaded Pi Efficiency - 8 Threads 24.41 % (±3.55 %) 25.71 % (±3.50 %) 0.95
micro_benchmarks Build Time 92.74 s 96.08 s 0.97
micro_benchmarks File Size 0.88 MB 0.88 MB 1.00
Scheduling time - 1 thread 73.58 ticks (±3.38 ticks) 73.85 ticks (±3.74 ticks) 1.00
Scheduling time - 2 threads 40.44 ticks (±4.67 ticks) 41.46 ticks (±4.37 ticks) 0.98
Micro - Time for syscall (getpid) 3.10 ticks (±0.18 ticks) 3.08 ticks (±0.19 ticks) 1.01
Memcpy speed - (built_in) block size 4096 75336.75 MByte/s (±52011.27 MByte/s) 73208.48 MByte/s (±50616.82 MByte/s) 1.03
Memcpy speed - (built_in) block size 1048576 29539.13 MByte/s (±24273.57 MByte/s) 29392.18 MByte/s (±24125.47 MByte/s) 1.00
Memcpy speed - (built_in) block size 16777216 26883.65 MByte/s (±22213.71 MByte/s) 23751.74 MByte/s (±19605.56 MByte/s) 1.13
Memset speed - (built_in) block size 4096 75218.29 MByte/s (±51933.35 MByte/s) 73313.38 MByte/s (±50689.78 MByte/s) 1.03
Memset speed - (built_in) block size 1048576 30307.09 MByte/s (±24710.66 MByte/s) 30169.43 MByte/s (±24587.38 MByte/s) 1.00
Memset speed - (built_in) block size 16777216 27317.35 MByte/s (±22399.67 MByte/s) 24402.29 MByte/s (±20008.02 MByte/s) 1.12
Memcpy speed - (rust) block size 4096 64138.59 MByte/s (±44698.11 MByte/s) 66427.37 MByte/s (±46490.49 MByte/s) 0.97
Memcpy speed - (rust) block size 1048576 29497.97 MByte/s (±24292.64 MByte/s) 29425.11 MByte/s (±24175.79 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 26896.82 MByte/s (±22263.40 MByte/s) 24403.77 MByte/s (±20179.96 MByte/s) 1.10
Memset speed - (rust) block size 4096 64646.11 MByte/s (±45043.70 MByte/s) 66262.32 MByte/s (±46403.75 MByte/s) 0.98
Memset speed - (rust) block size 1048576 30302.81 MByte/s (±24750.01 MByte/s) 30172.11 MByte/s (±24599.55 MByte/s) 1.00
Memset speed - (rust) block size 16777216 27379.65 MByte/s (±22473.51 MByte/s) 25069.95 MByte/s (±20590.63 MByte/s) 1.09
alloc_benchmarks Build Time 93.05 s 91.43 s 1.02
alloc_benchmarks File Size 0.85 MB 0.85 MB 1.00
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 4653.99 Ticks (±64.30 Ticks) 4633.96 Ticks (±62.19 Ticks) 1.00
Allocations - Average Allocation time (no fail) 4653.99 Ticks (±64.30 Ticks) 4633.96 Ticks (±62.19 Ticks) 1.00
Allocations - Average Deallocation time 884.16 Ticks (±93.40 Ticks) 683.28 Ticks (±99.25 Ticks) 1.29
mutex_benchmark Build Time 92.44 s 90.68 s 1.02
mutex_benchmark File Size 0.88 MB 0.88 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 14.12 ns (±0.86 ns) 13.82 ns (±0.84 ns) 1.02
Mutex Stress Test Average Time per Iteration - 2 Threads 18.00 ns (±2.43 ns) 14.48 ns (±0.75 ns) 1.24

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