On Wed, Dec 20, 2017 at 12:23 PM, John Fastabend <john.fastab...@gmail.com> wrote: > I'm trying to see how removing that rcu grace period was safe in the > first place. The datapath is using rcu_read critical section to protect > the qdisc but the control path (a) doesn't use rcu grace period and (b) > doesn't use the qidisc lock. Going to go get a coffee and I'll think > about it a bit more. Any ideas Cong?
qdisc_graft() -> dev_deactivate() -> synchronize_net() is the reason you want to find? Also, you can try `git log` to see why it was introduced in the beginning, here it is: commit 5d944c640b4ae5f37c537acf491c2f0eb89fa0d6 Author: Eric Dumazet <eric.duma...@gmail.com> Date: Wed Mar 31 07:06:04 2010 +0000 gen_estimator: deadlock fix