[PATCH net 0/4] Revert "tun/tap & vhost-net: apply qdisc backpressure on full ptr_ring to reduce TX drops"
From: Simon Schippers
Date: Tue Jul 28 2026 - 05:30:00 EST
Commit 1d6e569b7d0c ("tun/tap & vhost-net: avoid ptr_ring tail-drop when
a qdisc is present") did not show a relevant performance regression in my
testing, but on Brett Sheffield's librecast testbed it causes a
significant throughput drop in an IPv6 multicast testcase. The regression
can be pinpointed to multiple iperf3 TCP threads sending: for 8 threads
the throughput dropped from 13.5 Gbit/s to 9.13 Gbit/s.
Therefore this series reverts the qdisc backpressure work.
Making the backpressure opt-in via a new IFF_BACKPRESSURE flag was
proposed in [1], but a new IFF_* flag needs more review scrutiny than is
available at the moment, so a revert was requested instead. The opt-in
will be resubmitted for net-next later.
[1] Link: https://lore.kernel.org/netdev/20260709095511.168235-1-simon.schippers@xxxxxxxxxxxxxx/
Reported-by: Brett Sheffield <brett@xxxxxxxxxxxxx>
Closes: https://lore.kernel.org/netdev/akVnoOYQOrt8k-Gu@xxxxxxxxxxxxxxxxxxxx/
Simon Schippers (4):
Revert "tun/tap & vhost-net: avoid ptr_ring tail-drop when a qdisc is
present"
Revert "ptr_ring: move free-space check into separate helper"
Revert "vhost-net: wake queue of tun/tap after ptr_ring consume"
Revert "tun/tap: add ptr_ring consume helper with netdev queue wakeup"
drivers/net/tun.c | 109 +++------------------------------------
drivers/vhost/net.c | 21 +++-----
include/linux/if_tun.h | 3 --
include/linux/ptr_ring.h | 20 +------
4 files changed, 14 insertions(+), 139 deletions(-)
base-commit: b14361aca6350ff7907b0e9903c7b94dc7d5d4a0
--
2.43.0