]> git.baikalelectronics.ru Git - 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)
commitc2b42ce0a149d54601670b0f90b8225300a1d1f9
tree4cbfc90c4d5601a3fa76b2ab46fbeb36386c5f85
parent3e7d75e92d104f6a91ad4cfe7ecb27dfc32c5ca4
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