Messages in this thread | | | Date | Wed, 12 Dec 2007 10:41:59 -0800 | From | "Kok, Auke" <> | Subject | Re: [RFC] net: napi fix |
| |
David Miller wrote: > From: Andrew Gallatin <gallatin@myri.com> > Date: Wed, 12 Dec 2007 12:29:23 -0500 > >> Is the netif_running() check even required? > > No, it is not. > > When a device is brought down, one of the first things > that happens is that we wait for all pending NAPI polls > to complete, then block any new polls from starting.
I think this was previously (pre-2.6.24) not the case, which is why e1000 et al has this check as well and that's exactly what is causing most of the net_rx_action oopses in the first place. Without the netif_running() check previously the drivers were just unusable with NAPI and prone to many races with down (i.e. touching some ethtool ioctl which wants to do a reset while routing small packets at high numbers). that's why we added the netif_running() check in the first place :)
There might be more drivers lurking that need this change...
Auke
| |