]> Gentwo Git Trees - linux/.git/commit
net_sched: add qdisc_dequeue_drop() helper
authorEric Dumazet <edumazet@google.com>
Fri, 21 Nov 2025 08:32:55 +0000 (08:32 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 25 Nov 2025 15:10:32 +0000 (16:10 +0100)
commit191ff13e42a7b7824fec5b2ed84fd6481356754d
treeddd4c7cdcd4ca88654791f78ade112b11432f9a7
parent0170d7f47c8bb0311bc802bad52245c045f151fe
net_sched: add qdisc_dequeue_drop() helper

Some qdisc like cake, codel, fq_codel might drop packets
in their dequeue() method.

This is currently problematic because dequeue() runs with
the qdisc spinlock held. Freeing skbs can be extremely expensive.

Add qdisc_dequeue_drop() method and a new TCQ_F_DEQUEUE_DROPS
so that these qdiscs can opt-in to defer the skb frees
after the socket spinlock is released.

TCQ_F_DEQUEUE_DROPS is an attempt to not penalize other qdiscs
with an extra cache line miss.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20251121083256.674562-14-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
include/net/pkt_sched.h
include/net/sch_generic.h
net/core/dev.c