Message ID | 20171017165155.7915-1-rosenp@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [LEDE-DEV] ag71xx: Add back napi_complete_done. | expand |
On 17/10/17 17:51, Rosen Penev wrote: > This should have no impact on the recently discovered performance regression. > > Signed-off-by: Rosen Penev <rosenp@gmail.com> > --- With the greatest will in the world, should isn't the same as doesn't :-) Any testing? Cheers, Kevin
On 2017-10-17 18:51, Rosen Penev wrote: > This should have no impact on the recently discovered performance regression. > > Signed-off-by: Rosen Penev <rosenp@gmail.com> When GRO is not used, this makes no difference at all. - Felix
I'll take your word for it since I have no hardware to test on. On Tue, 2017-10-17 at 21:44 +0200, Felix Fietkau wrote: > On 2017-10-17 18:51, Rosen Penev wrote: > > This should have no impact on the recently discovered performance > > regression. > > > > Signed-off-by: Rosen Penev <rosenp@gmail.com> > > When GRO is not used, this makes no difference at all. > > - Felix
On 17/10/17 21:52, rosenp@gmail.com wrote:
> I'll take your word for it since I have no hardware to test on.
I'd say it has a huge impact on performance irrespective of hardware
'cos the patch as supplied doesn't actually compile ;-)
CC drivers/net/ethernet/atheros/ag71xx/ag71xx_main.o
drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c: In function
'ag71xx_poll':
drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c:1163:2: error: too
many arguments to function 'napi_complete'
napi_complete(napi, rx_done);
^~~~~~~~~~~~~
In file included from ./include/linux/etherdevice.h:26:0,
from drivers/net/ethernet/atheros/ag71xx/ag71xx.h:27,
from drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c:14:
./include/linux/netdevice.h:465:20: note: declared here
static inline void napi_complete(struct napi_struct *n)
^~~~~~~~~~~~~
scripts/Makefile.build:293: recipe for target
'drivers/net/ethernet/atheros/ag71xx/ag71xx_main.o' failed
make[10]: *** [drivers/net/ethernet/atheros/ag71xx/ag71xx_main.o] Error 1
Kevin
Well that's embarasing :). Forgot to add _done. Not enough coffee. On Tue, 2017-10-17 at 22:16 +0100, Kevin Darbyshire-Bryant wrote: > > On 17/10/17 21:52, rosenp@gmail.com wrote: > > I'll take your word for it since I have no hardware to test on. > > I'd say it has a huge impact on performance irrespective of hardware > 'cos the patch as supplied doesn't actually compile ;-) > > > CC drivers/net/ethernet/atheros/ag71xx/ag71xx_main.o > drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c: In function > 'ag71xx_poll': > drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c:1163:2: error: too > many arguments to function 'napi_complete' > napi_complete(napi, rx_done); > ^~~~~~~~~~~~~ > In file included from ./include/linux/etherdevice.h:26:0, > from > drivers/net/ethernet/atheros/ag71xx/ag71xx.h:27, > from > drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c:14: > ./include/linux/netdevice.h:465:20: note: declared here > static inline void napi_complete(struct napi_struct *n) > ^~~~~~~~~~~~~ > scripts/Makefile.build:293: recipe for target > 'drivers/net/ethernet/atheros/ag71xx/ag71xx_main.o' failed > make[10]: *** [drivers/net/ethernet/atheros/ag71xx/ag71xx_main.o] > Error 1 > > > Kevin > > _______________________________________________ > Lede-dev mailing list > Lede-dev@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/lede-dev
diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c index e9a3d59fa3..a2b95be713 100644 --- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c +++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c @@ -1141,7 +1141,7 @@ static int ag71xx_poll(struct napi_struct *napi, int limit) DBG("%s: disable polling mode, rx=%d, tx=%d,limit=%d\n", dev->name, rx_done, tx_done, limit); - napi_complete(napi); + napi_complete_done(napi, rx_done); /* enable interrupts */ spin_lock_irqsave(&ag->lock, flags); @@ -1160,7 +1160,7 @@ oom: pr_info("%s: out of memory\n", dev->name); mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL); - napi_complete(napi); + napi_complete(napi, rx_done); return 0; }
This should have no impact on the recently discovered performance regression. Signed-off-by: Rosen Penev <rosenp@gmail.com> --- .../ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)