]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit
net: sched: red: delay destroying child qdisc on replace
authorJakub Kicinski <jakub.kicinski@netronome.com>
Thu, 8 Nov 2018 01:33:39 +0000 (17:33 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Nov 2018 00:19:48 +0000 (16:19 -0800)
commit0c8d13ac96070000da33f394f45e9c19638483c5
tree4cbfc90c4d5601a3fa76b2ab46fbeb36386c5f85
parent9da93ece59f4a3e1544dfa2aa53e91f9e724abc6
net: sched: red: delay destroying child qdisc on replace

Move destroying of the old child qdisc outside of the sch_tree_lock()
section.  This should improve the software qdisc replace but is even
more important for offloads.  Firstly calling offloads under a spin
lock is best avoided.  Secondly the destroy event of existing child
would have been sent to the offload device before the replace, causing
confusion.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: John Hurley <john.hurley@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_red.c