Message ID | 1460178400.6473.469.camel@edumazet-glaptop3.roam.corp.google.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On April 8, 2016 10:06:40 PM PDT, Eric Dumazet <eric.dumazet@gmail.com> wrote: >From: Eric Dumazet <edumazet@google.com> > >By using napi_complete_done(), we allow fine tuning >of /sys/class/net/ethX/gro_flush_timeout for higher GRO aggregation >efficiency for a Gbit NIC. > >Check commit 24d2e4a50737 ("tg3: use napi_complete_done()") for >details. > >Signed-off-by: Eric Dumazet <edumazet@google.com> >Cc: Petri Gynther <pgynther@google.com> >Cc: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Along the same line of changes, we could use napi_schedule_irqoff since NAPI is always scheduled from ISR context. >--- > drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c >b/drivers/net/ethernet/broadcom/genet/bcmgenet.c >index f7b42b9fc979..e823013d3125 100644 >--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c >+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c >@@ -1735,7 +1735,7 @@ static int bcmgenet_rx_poll(struct napi_struct >*napi, int budget) > work_done = bcmgenet_desc_rx(ring, budget); > > if (work_done < budget) { >- napi_complete(napi); >+ napi_complete_done(napi, work_done); > ring->int_enable(ring); > } >
On Fri, 2016-04-08 at 22:19 -0700, Florian Fainelli wrote:
> Along the same line of changes, we could use napi_schedule_irqoff since NAPI is always scheduled from ISR context.
Good point, I'll cook the patch ;)
Thanks !
On Fri, Apr 8, 2016 at 10:06 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > From: Eric Dumazet <edumazet@google.com> > > By using napi_complete_done(), we allow fine tuning > of /sys/class/net/ethX/gro_flush_timeout for higher GRO aggregation > efficiency for a Gbit NIC. > > Check commit 24d2e4a50737 ("tg3: use napi_complete_done()") for details. > > Signed-off-by: Eric Dumazet <edumazet@google.com> > Cc: Petri Gynther <pgynther@google.com> > Cc: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Petri Gynther <pgynther@google.com> > --- > drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c > index f7b42b9fc979..e823013d3125 100644 > --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c > +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c > @@ -1735,7 +1735,7 @@ static int bcmgenet_rx_poll(struct napi_struct *napi, int budget) > work_done = bcmgenet_desc_rx(ring, budget); > > if (work_done < budget) { > - napi_complete(napi); > + napi_complete_done(napi, work_done); > ring->int_enable(ring); > } > > >
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Fri, 08 Apr 2016 22:06:40 -0700 > From: Eric Dumazet <edumazet@google.com> > > By using napi_complete_done(), we allow fine tuning > of /sys/class/net/ethX/gro_flush_timeout for higher GRO aggregation > efficiency for a Gbit NIC. > > Check commit 24d2e4a50737 ("tg3: use napi_complete_done()") for details. > > Signed-off-by: Eric Dumazet <edumazet@google.com> Applied.
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index f7b42b9fc979..e823013d3125 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -1735,7 +1735,7 @@ static int bcmgenet_rx_poll(struct napi_struct *napi, int budget) work_done = bcmgenet_desc_rx(ring, budget); if (work_done < budget) { - napi_complete(napi); + napi_complete_done(napi, work_done); ring->int_enable(ring); }