]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net_sched: use qdisc_skb_cb(skb)->pkt_segs in bstats_update()
authorEric Dumazet <edumazet@google.com>
Fri, 21 Nov 2025 08:32:47 +0000 (08:32 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 25 Nov 2025 15:10:32 +0000 (16:10 +0100)
commit2773cb0b3120eb5c4b66d949eb99853d5bae1221
treed69f093e7f09af1f83c6524e9437c5b92df56e6c
parentf9e00e51e391d08de31ca98d9f8609a1bceec2d2
net_sched: use qdisc_skb_cb(skb)->pkt_segs in bstats_update()

Avoid up to two cache line misses in qdisc dequeue() to fetch
skb_shinfo(skb)->gso_segs/gso_size while qdisc spinlock is held.

This gives a 5 % improvement in a TX intensive workload.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20251121083256.674562-6-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
include/net/sch_generic.h
net/sched/sch_cake.c
net/sched/sch_dualpi2.c
net/sched/sch_netem.c
net/sched/sch_qfq.c
net/sched/sch_taprio.c
net/sched/sch_tbf.c