feat(uhyve): use v2 interface, MmioWrite exits on x86_64#2013
feat(uhyve): use v2 interface, MmioWrite exits on x86_64#2013n0toose wants to merge 1 commit intohermit-os:mainfrom
Conversation
38666d5 to
eca06b1
Compare
|
Small status update: This can't work as-is yet, because we use |
eca06b1 to
8142546
Compare
| ] | ||
|
|
||
| [patch.crates-io] | ||
| uhyve-interface = { git = "https://github.com/n0toose/uhyve", branch = 'uhyve_if_v2-mmiowrite' } |
There was a problem hiding this comment.
| uhyve-interface = { git = "https://github.com/n0toose/uhyve", branch = 'uhyve_if_v2-mmiowrite' } | |
| uhyve-interface = { git = "https://github.com/n0toose/uhyve", branch = "uhyve_if_v2-mmiowrite" } |
There was a problem hiding this comment.
Will be removed, this was added to 'declare' what branch must be used and allow for easier compilation (in theory...)
465f8fc to
b4796d3
Compare
|
The issue causing the CI to fail was technically fixed in https://github.com/hermit-os/kernel/pull/2066/files, but we don't expect a new release for v1 of uhyve-interface (in which https://github.com/hermit-os/kernel/pull/2066/files would've helped.) We can work around this by using @fogti's work that effectively shifts this responsibility onto
Alternatively, we can use CC: @jounathaen, @mkroening |
b4796d3 to
a5c48af
Compare
887f99f to
6309ec9
Compare
There was a problem hiding this comment.
Benchmark Results
Details
| Benchmark | Current: 684837f | Previous: 1caea89 | Performance Ratio |
|---|---|---|---|
| startup_benchmark Build Time | 112.66 s |
113.59 s |
0.99 |
| startup_benchmark File Size | 0.83 MB |
0.88 MB |
0.95 |
| Startup Time - 1 core | 0.97 s (±0.03 s) |
1.00 s (±0.02 s) |
0.96 |
| Startup Time - 2 cores | 0.97 s (±0.03 s) |
1.00 s (±0.03 s) |
0.96 |
| Startup Time - 4 cores | 0.98 s (±0.03 s) |
1.00 s (±0.03 s) |
0.97 |
| multithreaded_benchmark Build Time | 112.80 s |
112.31 s |
1.00 |
| multithreaded_benchmark File Size | 0.98 MB |
0.97 MB |
1.00 |
| Multithreaded Pi Efficiency - 2 Threads | 87.82 % (±8.36 %) |
91.87 % (±5.48 %) |
0.96 |
| Multithreaded Pi Efficiency - 4 Threads | 43.12 % (±2.62 %) |
45.62 % (±1.52 %) |
0.95 |
| Multithreaded Pi Efficiency - 8 Threads | 25.10 % (±1.78 %) |
26.92 % (±1.71 %) |
0.93 |
| micro_benchmarks Build Time | 298.15 s |
300.90 s |
0.99 |
| micro_benchmarks File Size | 0.98 MB |
0.98 MB |
1.00 |
| Scheduling time - 1 thread | 187.87 ticks (±19.66 ticks) |
188.89 ticks (±35.95 ticks) |
0.99 |
| Scheduling time - 2 threads | 106.46 ticks (±20.23 ticks) |
109.29 ticks (±17.74 ticks) |
0.97 |
| Micro - Time for syscall (getpid) | 11.16 ticks (±4.93 ticks) |
11.44 ticks (±6.11 ticks) |
0.98 |
| Memcpy speed - (built_in) block size 4096 | 63752.27 MByte/s (±46907.67 MByte/s) |
58218.35 MByte/s (±41749.13 MByte/s) |
1.10 |
| Memcpy speed - (built_in) block size 1048576 | 14699.06 MByte/s (±12464.35 MByte/s) |
13322.31 MByte/s (±11078.57 MByte/s) |
1.10 |
| Memcpy speed - (built_in) block size 16777216 | 10478.09 MByte/s (±8741.22 MByte/s) |
9632.94 MByte/s (±7763.00 MByte/s) |
1.09 |
| Memset speed - (built_in) block size 4096 | 62560.36 MByte/s (±46573.81 MByte/s) |
58627.12 MByte/s (±42001.83 MByte/s) |
1.07 |
| Memset speed - (built_in) block size 1048576 | 15098.79 MByte/s (±12671.74 MByte/s) |
13664.11 MByte/s (±11297.52 MByte/s) |
1.10 |
| Memset speed - (built_in) block size 16777216 | 10722.84 MByte/s (±8869.47 MByte/s) |
9828.35 MByte/s (±7867.40 MByte/s) |
1.09 |
| Memcpy speed - (rust) block size 4096 | 57134.28 MByte/s (±43190.94 MByte/s) |
51942.01 MByte/s (±38359.80 MByte/s) |
1.10 |
| Memcpy speed - (rust) block size 1048576 | 15080.58 MByte/s (±12734.08 MByte/s) |
12839.06 MByte/s (±10483.71 MByte/s) |
1.17 |
| Memcpy speed - (rust) block size 16777216 | 10442.48 MByte/s (±8636.70 MByte/s) |
9531.71 MByte/s (±7678.70 MByte/s) |
1.10 |
| Memset speed - (rust) block size 4096 | 57769.94 MByte/s (±43529.44 MByte/s) |
53011.14 MByte/s (±39115.85 MByte/s) |
1.09 |
| Memset speed - (rust) block size 1048576 | 15362.47 MByte/s (±12857.13 MByte/s) |
13244.14 MByte/s (±10750.32 MByte/s) |
1.16 |
| Memset speed - (rust) block size 16777216 | 10665.62 MByte/s (±8746.81 MByte/s) |
9722.67 MByte/s (±7778.13 MByte/s) |
1.10 |
| alloc_benchmarks Build Time | 293.88 s |
302.31 s |
0.97 |
| alloc_benchmarks File Size | 0.90 MB |
0.95 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 | 26618.39 Ticks (±1136.54 Ticks) |
26215.84 Ticks (±1230.11 Ticks) |
1.02 |
| Allocations - Average Allocation time (no fail) | 26618.39 Ticks (±1136.54 Ticks) |
26215.84 Ticks (±1230.11 Ticks) |
1.02 |
| Allocations - Average Deallocation time | 3335.09 Ticks (±1833.53 Ticks) |
3319.78 Ticks (±1756.11 Ticks) |
1.00 |
| mutex_benchmark Build Time | 297.11 s |
301.33 s |
0.99 |
| mutex_benchmark File Size | 0.98 MB |
0.98 MB |
1.00 |
| Mutex Stress Test Average Time per Iteration - 1 Threads | 37.02 ns (±4.90 ns) |
38.48 ns (±4.89 ns) |
0.96 |
| Mutex Stress Test Average Time per Iteration - 2 Threads | 30.80 ns (±3.11 ns) |
31.68 ns (±3.36 ns) |
0.97 |
This comment was automatically generated by workflow using github-action-benchmark.
6309ec9 to
898833b
Compare
Note that we don't need a new release of |
This also removes the usage of ExitArgs, as it is a single integer. Co-authored-by: Ellen Εμιλία Άννα Zscheile <fogti+devel@ytrizja.de> Helped-by: Jonathan Klimt <jonathan.klimt@eonerc.rwth-aachen.de>
898833b to
684837f
Compare
|
Closing in favor of #2190 |
Companion PR to hermit-os/uhyve#1145