Skip to content

Conversation

cagatay-y
Copy link
Contributor

Before checking the send capacity to issue a send token, we need to poll to get the capacity back from completed sends.

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: 36b177f Previous: ee6e5d2 Performance Ratio
startup_benchmark Build Time 135.67 s 135.29 s 1.00
startup_benchmark File Size 0.90 MB 0.90 MB 1.00
Startup Time - 1 core 0.93 s (±0.01 s) 0.93 s (±0.02 s) 1.00
Startup Time - 2 cores 0.92 s (±0.02 s) 0.94 s (±0.02 s) 0.99
Startup Time - 4 cores 0.92 s (±0.01 s) 0.97 s (±0.02 s) 0.95
multithreaded_benchmark Build Time 141.66 s 141.88 s 1.00
multithreaded_benchmark File Size 1.00 MB 1.00 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 2.64 % (±12.67 %) 2.83 % (±13.59 %) 0.93
Multithreaded Pi Efficiency - 4 Threads 1.51 % (±7.25 %) 1.60 % (±7.68 %) 0.94
Multithreaded Pi Efficiency - 8 Threads 0.71 % (±3.43 %) 0.78 % (±3.74 %) 0.92
micro_benchmarks Build Time 225.51 s 195.06 s 1.16
micro_benchmarks File Size 1.01 MB 1.01 MB 1.00
Scheduling time - 1 thread 3.28 ticks (±15.75 ticks) 3.06 ticks (±14.68 ticks) 1.07
Scheduling time - 2 threads 3.34 ticks (±16.05 ticks) 1.58 ticks (±7.57 ticks) 2.12
Micro - Time for syscall (getpid) 0.18 ticks (±0.85 ticks) 0.16 ticks (±0.79 ticks) 1.07
Memcpy speed - (built_in) block size 4096 1474.06 MByte/s (±7075.47 MByte/s) 1680.11 MByte/s (±8064.52 MByte/s) 0.88
Memcpy speed - (built_in) block size 1048576 545.63 MByte/s (±2619.02 MByte/s) 559.39 MByte/s (±2685.09 MByte/s) 0.98
Memcpy speed - (built_in) block size 16777216 178.33 MByte/s (±856.01 MByte/s) 201.86 MByte/s (±968.91 MByte/s) 0.88
Memset speed - (built_in) block size 4096 1481.48 MByte/s (±7111.11 MByte/s) 1518.99 MByte/s (±7291.14 MByte/s) 0.98
Memset speed - (built_in) block size 1048576 1006.97 MByte/s (±4833.47 MByte/s) 1283.86 MByte/s (±6162.54 MByte/s) 0.78
Memset speed - (built_in) block size 16777216 515.00 MByte/s (±2472.02 MByte/s) 869.39 MByte/s (±4173.09 MByte/s) 0.59
Memcpy speed - (rust) block size 4096 991.74 MByte/s (±4760.33 MByte/s) 685.71 MByte/s (±3291.43 MByte/s) 1.45
Memcpy speed - (rust) block size 1048576 549.83 MByte/s (±2639.18 MByte/s) 547.47 MByte/s (±2627.87 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 181.38 MByte/s (±870.61 MByte/s) 206.17 MByte/s (±989.64 MByte/s) 0.88
Memset speed - (rust) block size 4096 1200.00 MByte/s (±5760.00 MByte/s) 1304.35 MByte/s (±6260.87 MByte/s) 0.92
Memset speed - (rust) block size 1048576 1313.93 MByte/s (±6306.87 MByte/s) 1280.41 MByte/s (±6145.97 MByte/s) 1.03
Memset speed - (rust) block size 16777216 475.92 MByte/s (±2284.42 MByte/s) 881.11 MByte/s (±4229.33 MByte/s) 0.54
alloc_benchmarks Build Time 197.75 s 186.50 s 1.06
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.40 % (±9.68 %) 1.39 % (±9.66 %) 1.00
Allocations - Pre-fail Allocations 2.00 % (±13.86 %) 2.00 % (±13.86 %) 1
Allocations - Average Allocation time 260.74 Ticks (±1806.85 Ticks) 241.20 Ticks (±1671.42 Ticks) 1.08
Allocations - Average Allocation time (no fail) 260.74 Ticks (±1806.85 Ticks) 241.20 Ticks (±1671.42 Ticks) 1.08
Allocations - Average Deallocation time 16.79 Ticks (±116.36 Ticks) 16.83 Ticks (±116.64 Ticks) 1.00
mutex_benchmark Build Time 204.01 s 186.85 s 1.09
mutex_benchmark File Size 1.01 MB 1.01 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 0.34 ns (±2.36 ns) 0.34 ns (±2.36 ns) 1
Mutex Stress Test Average Time per Iteration - 2 Threads 0.40 ns (±2.77 ns) 0.36 ns (±2.49 ns) 1.11

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

@mkroening mkroening self-assigned this Sep 27, 2025
@mkroening
Copy link
Member

@zyuiop, please review too :)

Before checking the send capacity to issue a send token, we need to poll
to get the capacity back from completed sends.

Co-authored-by: Louis Vialar <louis.vialar@gmail.com>
@cagatay-y cagatay-y force-pushed the virtio-send-capacity-fix branch from fcfb72e to 36b177f Compare September 28, 2025 12:48
Copy link
Contributor

@zyuiop zyuiop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The network can get stuck without this patch. LGTM!

@stlankes
Copy link
Contributor

stlankes commented Oct 1, 2025

Any idea, why the CI failed?

@mkroening
Copy link
Member

Any idea, why the CI failed?

Might be spurious. Retrying.

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.

4 participants