From: Cong Wang <xiyou.wangc...@gmail.com> Date: Thu, 21 Dec 2017 16:03:29 -0800
> qdisc_reset() should always be called with qdisc spinlock > and with BH disabled, otherwise qdisc ->reset() could race > with TX BH. > > Fixes: 7bbde83b1860 ("net: sched: drop qdisc_reset from dev_graft_qdisc") > Reported-by: Jakub Kicinski <jakub.kicin...@netronome.com> > Cc: John Fastabend <john.fastab...@gmail.com> > Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com> There doesn't seem to be agreement over whether qdisc_reset() really needs to run with the lock held. In fact, the general consensus is that this really shouldn't run until a grace period had occurred and therefore parallel TX paths cannot be running any longer. In any event, this was supposed to work towards a bug fix which ultimately was fixed instead with the ptr_ring change from John. So this seems unnecessary now. If you disagree, please repost with an updated commit message which explains things further. Thank you.