On Thu, 3 Dec 2020 09:50:11 +0100 Oleksij Rempel wrote:
> @Jakub,
> 
> > You can't take sleeping locks from .ndo_get_stats64.
> > 
> > Also regmap may sleep?
> > 
> > +   ret = regmap_read(priv->regmap, reg, &val);  
> 
> Yes. And underling layer is mdio bus which is by default sleeping as
> well.
> 
> > Am I missing something?  
> 
> In this log, the  ar9331_get_stats64() was never called from atomic or
> irq context. Why it should not be sleeping?

You missed some long discussions about this within last week on netdev.
Also Documentation/networking/statistics.rst.

To answer your direct question - try:

# cat /proc/net/dev

procfs iterates over devices while holding only an RCU read lock.

Reply via email to