Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net_sched: sch_fq: move qdisc_bstats_update() to fq_dequeue_skb()

Group together changes to qdisc fields to reduce chances of false sharing
if another cpu attempts to acquire the qdisc spinlock.

qdisc_qstats_backlog_dec(sch, skb);
sch->q.qlen--;
qdisc_bstats_update(sch, skb);

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20251121083256.674562-9-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Eric Dumazet and committed by
Paolo Abeni
3c1100f0 ad50d5a3

+1 -1
+1 -1
net/sched/sch_fq.c
··· 497 497 skb_mark_not_on_list(skb); 498 498 qdisc_qstats_backlog_dec(sch, skb); 499 499 sch->q.qlen--; 500 + qdisc_bstats_update(sch, skb); 500 501 } 501 502 502 503 static void flow_queue_add(struct fq_flow *flow, struct sk_buff *skb) ··· 777 776 f->time_next_packet = now + len; 778 777 } 779 778 out: 780 - qdisc_bstats_update(sch, skb); 781 779 return skb; 782 780 } 783 781