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: 37f026f Previous: 72feee1 Performance Ratio
startup_benchmark Build Time 113.50 s 111.53 s 1.02
startup_benchmark File Size 0.91 MB 0.91 MB 1.00
Startup Time - 1 core 0.90 s (±0.04 s) 0.91 s (±0.02 s) 0.98
Startup Time - 2 cores 0.89 s (±0.03 s) 0.92 s (±0.03 s) 0.97
Startup Time - 4 cores 0.91 s (±0.03 s) 0.93 s (±0.02 s) 0.98
multithreaded_benchmark Build Time 113.15 s 113.03 s 1.00
multithreaded_benchmark File Size 1.01 MB 1.01 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 3.45 % (±16.55 %) 3.76 % (±18.05 %) 0.92
Multithreaded Pi Efficiency - 4 Threads 1.68 % (±8.05 %) 1.60 % (±7.68 %) 1.05
Multithreaded Pi Efficiency - 8 Threads 0.97 % (±4.66 %) 1.01 % (±4.83 %) 0.97
micro_benchmarks Build Time 112.67 s 112.62 s 1.00
micro_benchmarks File Size 1.01 MB 1.01 MB 1.00
Scheduling time - 1 thread 2.71 ticks (±13.02 ticks) 2.79 ticks (±13.40 ticks) 0.97
Scheduling time - 2 threads 1.68 ticks (±8.05 ticks) 1.98 ticks (±9.48 ticks) 0.85
Micro - Time for syscall (getpid) 0.17 ticks (±0.81 ticks) 0.15 ticks (±0.73 ticks) 1.10
Memcpy speed - (built_in) block size 4096 1502.40 MByte/s (±7211.54 MByte/s) 1516.99 MByte/s (±7281.55 MByte/s) 0.99
Memcpy speed - (built_in) block size 1048576 744.62 MByte/s (±3574.15 MByte/s) 721.98 MByte/s (±3465.52 MByte/s) 1.03
Memcpy speed - (built_in) block size 16777216 225.45 MByte/s (±1082.15 MByte/s) 221.28 MByte/s (±1062.12 MByte/s) 1.02
Memset speed - (built_in) block size 4096 1538.46 MByte/s (±7384.62 MByte/s) 1621.62 MByte/s (±7783.78 MByte/s) 0.95
Memset speed - (built_in) block size 1048576 1004.19 MByte/s (±4820.12 MByte/s) 990.56 MByte/s (±4754.71 MByte/s) 1.01
Memset speed - (built_in) block size 16777216 967.75 MByte/s (±4645.20 MByte/s) 967.95 MByte/s (±4646.14 MByte/s) 1.00
Memcpy speed - (rust) block size 4096 967.74 MByte/s (±4645.16 MByte/s) 1212.12 MByte/s (±5818.18 MByte/s) 0.80
Memcpy speed - (rust) block size 1048576 751.33 MByte/s (±3606.38 MByte/s) 756.76 MByte/s (±3632.44 MByte/s) 0.99
Memcpy speed - (rust) block size 16777216 225.09 MByte/s (±1080.45 MByte/s) 223.83 MByte/s (±1074.36 MByte/s) 1.01
Memset speed - (rust) block size 4096 1428.57 MByte/s (±6857.14 MByte/s) 1818.18 MByte/s (±8727.27 MByte/s) 0.79
Memset speed - (rust) block size 1048576 1014.84 MByte/s (±4871.24 MByte/s) 995.62 MByte/s (±4778.97 MByte/s) 1.02
Memset speed - (rust) block size 16777216 923.96 MByte/s (±4435.01 MByte/s) 950.07 MByte/s (±4560.34 MByte/s) 0.97
alloc_benchmarks Build Time 103.82 s 105.50 s 0.98
alloc_benchmarks File Size 0.97 MB 0.97 MB 1.00
Allocations - Allocation success 2.00 % (±13.86 %) 2.00 % (±13.86 %) 1
Allocations - Deallocation success 1.41 % (±9.74 %) 1.39 % (±9.65 %) 1.01
Allocations - Pre-fail Allocations 2.00 % (±13.86 %) 2.00 % (±13.86 %) 1
Allocations - Average Allocation time 233.49 Ticks (±1618.02 Ticks) 228.34 Ticks (±1582.32 Ticks) 1.02
Allocations - Average Allocation time (no fail) 233.49 Ticks (±1618.02 Ticks) 228.34 Ticks (±1582.32 Ticks) 1.02
Allocations - Average Deallocation time 14.52 Ticks (±100.61 Ticks) 17.31 Ticks (±119.99 Ticks) 0.84
mutex_benchmark Build Time 103.91 s 102.87 s 1.01
mutex_benchmark File Size 1.02 MB 1.02 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 0.26 ns (±1.80 ns) 0.24 ns (±1.66 ns) 1.08
Mutex Stress Test Average Time per Iteration - 2 Threads 0.30 ns (±2.08 ns) 0.28 ns (±1.94 ns) 1.07

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 5 times, most recently from bb6c7c4 to 0db72b0 Compare September 10, 2025 16:22
@mkroening mkroening force-pushed the xtask-udp-eagain branch 3 times, most recently from 5aa9aa6 to 45de829 Compare October 13, 2025 15:36
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