On Fri, 2016-04-08 at 22:30 +0200, Hannes Frederic Sowa wrote: > Hi Marcelo, > ng rtnl? > > I thought about that and try not to use synchronize_rcu, but I don't see > any other way. Anyway, ndo_stop isn't really fast path and is used to > shut the interface down. Also since we have lwtunnels we don't really > need a lot of interfaces created and torn down. > > But I could switch to synchronize_rcu_expedited here. > > Also we have another synchronize_rcu during device dismantling, maybe we > can split ndo_stop into two callbacks, one preparing for stopping and > the other one after the synchronize_rcu when we safely can free resources. > > I will investigate this but for the mean time I think this patch is > already improving things as user space can bind the socket again when > the dellink command returned.
Of course, we have synchronize_net() which specifically put in a single point the knowledge (rtnl being held or not)