]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net/sched: use rtnl_kfree_skbs() in pfifo_fast_reset()
authorEric Dumazet <edumazet@google.com>
Fri, 6 Mar 2026 13:31:54 +0000 (13:31 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 10 Mar 2026 02:01:53 +0000 (19:01 -0700)
rtnl_kfree_skbs() reduces RTNL and qdisc spinlock hold time.

skbs are freed later after RTNL has been released.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260306133154.678730-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sched/sch_generic.c

index d4fe907c4ad5895b1dda5249c55e4c1e0168023e..69d5ac4f17d1b4d53939edaa1e74cc39d35d94fa 100644 (file)
@@ -850,7 +850,7 @@ static void pfifo_fast_reset(struct Qdisc *qdisc)
                        continue;
 
                while ((skb = __skb_array_consume(q)) != NULL)
-                       kfree_skb(skb);
+                       rtnl_kfree_skbs(skb, skb);
        }
 
        if (qdisc_is_percpu_stats(qdisc)) {