From: Alexander Monakov
Date: Wed, 31 Jan 2018 17:05:47 +0300 (MSK)
> And is this a matter of efficiency (not calling napi_schedule when there's
> nothing to do and not keeping interrupts enabled for its duration), or also
> a matter of correctness?
If you don't mask interrupts properly around s
> > +#ifdef CONFIG_NET_POLL_CONTROLLER
> > +static void pxa168_eth_netpoll(struct net_device *dev)
> > +{
> > + struct pxa168_eth_private *pep = netdev_priv(dev);
> > + napi_schedule(&pep->napi);
> > +}
> > +#endif
>
> This definitely is not sufficient.
>
> Look at what other drivers do.
Sor
From: Alexander Monakov
Date: Sat, 27 Jan 2018 23:29:07 +0300
> @@ -1362,6 +1362,14 @@ static int pxa168_eth_do_ioctl(struct net_device *dev,
> struct ifreq *ifr,
> return -EOPNOTSUPP;
> }
>
> +#ifdef CONFIG_NET_POLL_CONTROLLER
> +static void pxa168_eth_netpoll(struct net_device *dev)
>
This implements ndo_poll_controller callback which is necessary to
enable netconsole.
Signed-off-by: Alexander Monakov
Cc: Russell King
Cc: Sebastian Hesselbarth
Cc: Florian Fainelli
---
Hello,
I'm using this to enable netconsole on a consumer device built around the
Marvell Berlin BG2CD SoC.