Re: [PATCH net v2] tun/tap & vhost-net: make qdisc backpressure opt-in via IFF_BACKPRESSURE
From: Brett A C Sheffield
Date: Tue Jul 07 2026 - 16:06:34 EST
On 2026-07-07 08:52, Simon Schippers wrote:
> Brett, can you try the two attached patches here with iperf3?
> I think testing with 8 and 16 threads is enough, so where there is a
> regression.
>
> The two patches are about time when to wake:
> Currently we wake after consuming half the internal ring buffer.
> One of the attached patches wakes after 2 cachelines (128 of 1000
> packets) and the other one just wakes once the ring buffer is empty.
>
> This would really help :)
Sure...
7.2.0-rc2 (unpatched)
threads 1
[ 5] 0.00-10.00 sec 20.4 GBytes 17.5 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 2.00 GBytes 1.72 Gbits/sec receiver
threads 2
[SUM] 0.00-10.00 sec 12.7 GBytes 10.9 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 4.00 GBytes 3.43 Gbits/sec receiver
threads 8
[SUM] 0.00-10.00 sec 11.5 GBytes 9.85 Gbits/sec 0 sender
[SUM] 0.00-10.01 sec 11.4 GBytes 9.83 Gbits/sec receiver
threads 16
[SUM] 0.00-10.00 sec 11.6 GBytes 9.95 Gbits/sec 0 sender
[SUM] 0.00-10.01 sec 11.5 GBytes 9.91 Gbits/sec receiver
7.2.0-rc2 with 0001-tun-set-waking-threshold-to-ptr_ring_empty.patch
threads 1
[ 5] 0.00-10.00 sec 19.6 GBytes 16.8 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 2.00 GBytes 1.72 Gbits/sec receiver
threads 2
[SUM] 0.00-10.00 sec 11.1 GBytes 9.50 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 4.00 GBytes 3.43 Gbits/sec receiver
threads 8
[SUM] 0.00-10.00 sec 10.8 GBytes 9.25 Gbits/sec 0 sender
[SUM] 0.00-10.01 sec 10.7 GBytes 9.23 Gbits/sec receiver
threads 16
[SUM] 0.00-10.00 sec 10.9 GBytes 9.34 Gbits/sec 0 sender
[SUM] 0.00-10.01 sec 10.8 GBytes 9.30 Gbits/sec receiver
7.2.0-rc2 with 0001-tun-set-waking-threshold-to-tx_ring.batch.patch
threads 1
[ 5] 0.00-10.00 sec 19.6 GBytes 16.9 Gbits/sec 2 sender
[ 5] 0.00-10.00 sec 2.00 GBytes 1.72 Gbits/sec receiver
threads 2
[SUM] 0.00-10.00 sec 13.9 GBytes 11.9 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 4.00 GBytes 3.43 Gbits/sec receiver
threads 8
[SUM] 0.00-10.00 sec 12.7 GBytes 10.9 Gbits/sec 0 sender
[SUM] 0.00-10.01 sec 12.3 GBytes 10.6 Gbits/sec receiver
threads 16
[SUM] 0.00-10.00 sec 12.5 GBytes 10.7 Gbits/sec 0 sender
[SUM] 0.00-10.00 sec 12.4 GBytes 10.7 Gbits/sec receiver
HTH,
Brett
--
Brett Sheffield (he/him)
Librecast - Decentralising the Internet with Multicast
https://librecast.net/
https://blog.brettsheffield.com/