Skip to content

Net fixes - #2752

Merged
mkroening merged 3 commits into
mainfrom
net-fixes
Oct 27, 2026
Merged

mkroening merged 3 commits into
mainfrom
net-fixes

Conversation

@jounathaen

Copy link
Copy Markdown
Member

1-3 are bugfixes.
4 is opinionated.

@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: 342a744 Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 88.29 s 80.34 s 1.10 ❗
startup_benchmark File Size 0.85 MB 0.80 MB 1.06 ❗
Startup Time - 1 core 0.72 s (±0.02 s) 0.75 s (±0.02 s) 0.97
Startup Time - 2 cores 0.72 s (±0.02 s) 0.74 s (±0.02 s) 0.98
Startup Time - 4 cores 0.74 s (±0.02 s) 0.74 s (±0.02 s) 1.00
multithreaded_benchmark Build Time 86.46 s 82.11 s 1.05 ❗
multithreaded_benchmark File Size 0.94 MB 0.86 MB 1.09 ❗
Multithreaded Pi Efficiency - 2 Threads 87.98 % (±7.82 %) 85.89 % (±6.61 %) 1.02
Multithreaded Pi Efficiency - 4 Threads 43.73 % (±2.84 %) 43.43 % (±2.56 %) 1.01
Multithreaded Pi Efficiency - 8 Threads 25.78 % (±1.48 %) 25.76 % (±1.53 %) 1.00
micro_benchmarks Build Time 81.48 s 80.40 s 1.01 ❗
micro_benchmarks File Size 0.94 MB 0.86 MB 1.09 ❗
Scheduling time - 1 thread 64.57 ticks (±3.19 ticks) 62.65 ticks (±4.06 ticks) 1.03
Scheduling time - 2 threads 36.06 ticks (±4.86 ticks) 34.08 ticks (±4.10 ticks) 1.06
Micro - Time for syscall (getpid) 4.47 ticks (±0.86 ticks) 3.45 ticks (±0.58 ticks) 1.30
Memcpy speed - (built_in) block size 4096 82544.33 MByte/s (±57148.49 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 1.00
Memcpy speed - (built_in) block size 1048576 30540.71 MByte/s (±24622.85 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 1.00
Memcpy speed - (built_in) block size 16777216 29308.89 MByte/s (±24117.31 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.11
Memset speed - (built_in) block size 4096 82327.47 MByte/s (±56998.73 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 1.00
Memset speed - (built_in) block size 1048576 31274.87 MByte/s (±25048.54 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 1.00
Memset speed - (built_in) block size 16777216 30073.22 MByte/s (±24559.46 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.11
Memcpy speed - (rust) block size 4096 75212.36 MByte/s (±52578.83 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 1.02
Memcpy speed - (rust) block size 1048576 30319.28 MByte/s (±24517.40 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 29252.27 MByte/s (±24080.94 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 1.06
Memset speed - (rust) block size 4096 75671.34 MByte/s (±52917.00 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 1.02
Memset speed - (rust) block size 1048576 31051.44 MByte/s (±24945.84 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 1.00
Memset speed - (rust) block size 16777216 30010.40 MByte/s (±24518.56 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 1.06
alloc_benchmarks Build Time 81.23 s 74.76 s 1.09 ❗
alloc_benchmarks File Size 0.92 MB 0.87 MB 1.06 ❗
Allocations - Allocation success 91.37 % 91.31 % 1.00 ❗
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.61 % 61.44 % 1.00 ❗
Allocations - Average Allocation time 6436.50 Ticks (±100.48 Ticks) 5860.58 Ticks (±98.43 Ticks) 1.10 ❗
Allocations - Average Allocation time (no fail) 6972.01 Ticks (±148.35 Ticks) 6554.81 Ticks (±92.86 Ticks) 1.06 ❗
Allocations - Average Deallocation time 1070.24 Ticks (±278.13 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.59 ❗
mutex_benchmark Build Time 80.77 s 79.82 s 1.01 ❗
mutex_benchmark File Size 0.94 MB 0.86 MB 1.09 ❗
Mutex Stress Test Average Time per Iteration - 1 Threads 12.20 ns (±0.40 ns) 12.10 ns (±0.41 ns) 1.01
Mutex Stress Test Average Time per Iteration - 2 Threads 65.44 ns (±3.74 ns) 40.26 ns (±1.68 ns) 1.63 ❗

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

Comment thread src/drivers/net/virtio.rs Outdated
The respective fields can be found in section 4.1.4.3 https://docs.oasis-open.org/virtio/virtio/v1.4/virtio-v1.4.html#x1-1750004

Assisted-by: Anthropic Claude
Otherwise, the Nagle algorithm can't work properly, as it can't fill the
remaining bits up to the MTU, and has to stall until the ACK arrives.

Assisted-by: Anthropic Claude
@mkroening
mkroening enabled auto-merge October 27, 2026 15:52
@mkroening
mkroening added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit e326ee1 Oct 27, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants