summaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2016-06-13 20:21:57 -0700
committerDavid S. Miller <davem@davemloft.net>2016-06-15 14:08:35 -0700
commit2f08a9a16288b60df3ddfe97c965427ce0163297 (patch)
treebb271fd65501875aa42fa7f70c1af181cfd3b869 /net/sched
parenta5a9f5346fb95c00d47e8b4648f6d5eada147cd4 (diff)
downloadlinux-2f08a9a16288b60df3ddfe97c965427ce0163297.tar.gz
linux-2f08a9a16288b60df3ddfe97c965427ce0163297.tar.bz2
linux-2f08a9a16288b60df3ddfe97c965427ce0163297.zip
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>
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_netem.c4
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);
}
}