Merge branch 'sched_skb_free_defer'
authorDavid S. Miller <davem@davemloft.net>
Wed, 15 Jun 2016 21:08:36 +0000 (14:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Jun 2016 21:08:36 +0000 (14:08 -0700)
commit88da48f4977a4b31e03cac1b6ea38f24d7916d10
tree462e30cb64cf066c1d13cd98eb0ea502115bafda
parent35c55c9877f8de0ab129fa1a309271d0ecc868b9
parentfea024784f588a1c50e7718d6053697ebdcc033e
Merge branch 'sched_skb_free_defer'

Eric Dumazet says:

====================
net_sched: defer skb freeing while changing qdiscs

qdiscs/classes are changed under RTNL protection and often
while blocking BH and root qdisc spinlock.

When lots of skbs need to be dropped, we free
them under these locks causing TX/RX freezes,
and more generally latency spikes.

I saw spikes of 50+ ms on quite fast hardware...

This patch series adds a simple queue protected by RTNL
where skbs can be placed until RTNL is released.

Note that this might also serve in the future for optional
reinjection of packets when a qdisc is replaced.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>