Skip to content

Conversation

mkroening
Copy link
Member

@mkroening mkroening commented Sep 9, 2025

This PR aims to fix the spurious

Error: Resource temporarily unavailable (os error 11)

in

cargo xtask ci rs --arch x86_64 --profile release --package mioudp --features hermit/udp,hermit/dhcpv4,hermit/virtio-net qemu --accel --sudo --devices virtio-net-pci

by avoiding early server shutdowns before the message is actually transmitted.

@mkroening mkroening self-assigned this Sep 9, 2025
Copy link
Contributor

@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

Benchmark Current: 0db72b0 Previous: 250f22e Performance Ratio
startup_benchmark Build Time 125.31 s 124.48 s 1.01
startup_benchmark File Size 0.91 MB 0.91 MB 1.00
Startup Time - 1 core 0.95 s (±0.02 s) 0.93 s (±0.02 s) 1.01
Startup Time - 2 cores 0.93 s (±0.02 s) 0.93 s (±0.03 s) 1.00
Startup Time - 4 cores 0.95 s (±0.02 s) 0.95 s (±0.02 s) 1.00
multithreaded_benchmark Build Time 123.33 s 122.65 s 1.01
multithreaded_benchmark File Size 1.02 MB 1.02 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 2.80 % (±13.45 %) 2.79 % (±13.37 %) 1.01
Multithreaded Pi Efficiency - 4 Threads 1.62 % (±7.80 %) 1.58 % (±7.57 %) 1.03
Multithreaded Pi Efficiency - 8 Threads 0.81 % (±3.87 %) 0.82 % (±3.93 %) 0.99
micro_benchmarks Build Time 140.63 s 145.61 s 0.97
micro_benchmarks File Size 1.02 MB 1.03 MB 1.00
Scheduling time - 1 thread 2.86 ticks (±13.75 ticks) 3.05 ticks (±14.65 ticks) 0.94
Scheduling time - 2 threads 1.54 ticks (±7.41 ticks) 1.56 ticks (±7.50 ticks) 0.99
Micro - Time for syscall (getpid) 0.17 ticks (±0.81 ticks) 0.18 ticks (±0.86 ticks) 0.94
Memcpy speed - (built_in) block size 4096 1516.99 MByte/s (±7281.55 MByte/s) 1313.03 MByte/s (±6302.52 MByte/s) 1.16
Memcpy speed - (built_in) block size 1048576 754.33 MByte/s (±3620.80 MByte/s) 692.52 MByte/s (±3324.10 MByte/s) 1.09
Memcpy speed - (built_in) block size 16777216 219.54 MByte/s (±1053.81 MByte/s) 211.07 MByte/s (±1013.12 MByte/s) 1.04
Memset speed - (built_in) block size 4096 1008.40 MByte/s (±4840.34 MByte/s) 1290.32 MByte/s (±6193.55 MByte/s) 0.78
Memset speed - (built_in) block size 1048576 987.51 MByte/s (±4740.04 MByte/s) 1331.78 MByte/s (±6392.54 MByte/s) 0.74
Memset speed - (built_in) block size 16777216 878.29 MByte/s (±4215.80 MByte/s) 866.63 MByte/s (±4159.85 MByte/s) 1.01
Memcpy speed - (rust) block size 4096 1176.47 MByte/s (±5647.06 MByte/s) 960.00 MByte/s (±4608.00 MByte/s) 1.23
Memcpy speed - (rust) block size 1048576 708.83 MByte/s (±3402.39 MByte/s) 562.78 MByte/s (±2701.33 MByte/s) 1.26
Memcpy speed - (rust) block size 16777216 222.26 MByte/s (±1066.87 MByte/s) 203.06 MByte/s (±974.70 MByte/s) 1.09
Memset speed - (rust) block size 4096 1395.35 MByte/s (±6697.67 MByte/s) 1500.00 MByte/s (±7200.00 MByte/s) 0.93
Memset speed - (rust) block size 1048576 995.54 MByte/s (±4778.62 MByte/s) 1289.16 MByte/s (±6187.96 MByte/s) 0.77
Memset speed - (rust) block size 16777216 922.54 MByte/s (±4428.19 MByte/s) 882.37 MByte/s (±4235.38 MByte/s) 1.05
alloc_benchmarks Build Time 137.70 s 141.09 s 0.98
alloc_benchmarks File Size 0.98 MB 0.98 MB 1.00
Allocations - Allocation success 2.00 % (±13.86 %) 2.00 % (±13.86 %) 1
Allocations - Deallocation success 1.39 % (±9.66 %) 1.40 % (±9.74 %) 0.99
Allocations - Pre-fail Allocations 2.00 % (±13.86 %) 2.00 % (±13.86 %) 1
Allocations - Average Allocation time 254.47 Ticks (±1763.42 Ticks) 245.11 Ticks (±1698.52 Ticks) 1.04
Allocations - Average Allocation time (no fail) 254.47 Ticks (±1763.42 Ticks) 245.11 Ticks (±1698.52 Ticks) 1.04
Allocations - Average Deallocation time 16.97 Ticks (±117.60 Ticks) 17.05 Ticks (±118.16 Ticks) 1.00
mutex_benchmark Build Time 139.63 s 142.06 s 0.98
mutex_benchmark File Size 1.03 MB 1.03 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 0.28 ns (±1.94 ns) 0.34 ns (±2.36 ns) 0.82
Mutex Stress Test Average Time per Iteration - 2 Threads 0.32 ns (±2.22 ns) 0.36 ns (±2.49 ns) 0.89

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

@mkroening mkroening force-pushed the xtask-udp-eagain branch 7 times, most recently from 3707013 to 542162f Compare September 10, 2025 12:45
@mkroening mkroening changed the title fix(xtask): increase udp timeout feat(xtask): kill QEMU on all interactive tests Sep 10, 2025
@mkroening mkroening changed the title feat(xtask): kill QEMU on all interactive tests feat(xtask): kill servers externally Sep 10, 2025
@mkroening mkroening force-pushed the xtask-udp-eagain branch 3 times, most recently from 7054c0c to 2b8867a Compare September 10, 2025 15:38
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