On Mon, Nov 30, 2020 at 05:58:17PM -0600, George McCollister wrote: > On Mon, Nov 30, 2020 at 5:50 PM Vladimir Oltean <olteanv@xxxxxxxxx> wrote: > > > > On Mon, Nov 30, 2020 at 10:52:35AM -0600, George McCollister wrote: > > > Another possible option could be replacing for_each_netdev_rcu with > > > for_each_netdev_srcu and using list_for_each_entry_srcu (though it's > > > currently used nowhere else in the kernel). Has anyone considered > > > using sleepable RCUs or thought of a reason they wouldn't work or > > > wouldn't be desirable? For more info search for SRCU in > > > Documentation/RCU/RTFP.txt > > > > Want to take the lead? > > I certainly could take a stab at it. It would be nice to get a > "doesn't sound like a terrible idea at first glance" from Jakub (and > anyone else) before starting on it. Maybe someone has brought this up > before and was shot down for $reason. If so that would be nice to > know. Of course it's possible I could also find some reason it won't > work after investigating/implementing/testing. Well, for one thing, I don't think the benefit justifies the effort, but then again, it's not my effort... I think there are simpler ways to get sleepable context for the callers of dev_get_stats, I have some patches that I'm working on. Not sure if you saw the discussion here. https://lore.kernel.org/netdev/20201129205817.hti2l4hm2fbp2iwy@skbuf/ Let that not stop you, though.