diff options
author | Eric Dumazet <edumazet@google.com> | 2016-06-13 20:21:57 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-15 14:08:35 -0700 |
commit | 2f08a9a16288b60df3ddfe97c965427ce0163297 (patch) | |
tree | bb271fd65501875aa42fa7f70c1af181cfd3b869 | |
parent | a5a9f5346fb95c00d47e8b4648f6d5eada147cd4 (diff) | |
download | linux-2f08a9a16288b60df3ddfe97c965427ce0163297.tar.bz2 |
net_sched: sch_netem: defer skb freeing
rtnl_kfree_skbs() can be used in tfifo_reset()
It would be nice if we could iterate through rb tree instead
of removing one skb at a time, and build a single skb chain.
But this is left for a future patch.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/sched/sch_netem.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 876df13c745a..e271967439bf 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c @@ -368,9 +368,7 @@ static void tfifo_reset(struct Qdisc *sch) struct sk_buff *skb = netem_rb_to_skb(p); rb_erase(p, &q->t_root); - skb->next = NULL; - skb->prev = NULL; - kfree_skb(skb); + rtnl_kfree_skbs(skb, skb); } } |