drivers: net: generalize napi_complete_done()
napi_complete_done() allows to opt-in for gro_flush_timeout,
added back in linux-3.19, commit 3b47d30396
("net: gro: add a per device gro flush timer")
This allows for more efficient GRO aggregation without
sacrifying latencies.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

zatwierdzone przez
David S. Miller

rodzic
63a6fff353
commit
6ad20165d3
@@ -3786,7 +3786,7 @@ static int niu_poll(struct napi_struct *napi, int budget)
|
||||
work_done = niu_poll_core(np, lp, budget);
|
||||
|
||||
if (work_done < budget) {
|
||||
napi_complete(napi);
|
||||
napi_complete_done(napi, work_done);
|
||||
niu_ldg_rearm(np, lp, 1);
|
||||
}
|
||||
return work_done;
|
||||
|
@@ -922,7 +922,7 @@ static int gem_poll(struct napi_struct *napi, int budget)
|
||||
gp->status = readl(gp->regs + GREG_STAT);
|
||||
} while (gp->status & GREG_STAT_NAPI);
|
||||
|
||||
napi_complete(napi);
|
||||
napi_complete_done(napi, work_done);
|
||||
gem_enable_ints(gp);
|
||||
|
||||
return work_done;
|
||||
|
@@ -860,7 +860,7 @@ int sunvnet_poll_common(struct napi_struct *napi, int budget)
|
||||
int processed = vnet_event_napi(port, budget);
|
||||
|
||||
if (processed < budget) {
|
||||
napi_complete(napi);
|
||||
napi_complete_done(napi, processed);
|
||||
port->rx_event &= ~LDC_EVENT_DATA_READY;
|
||||
vio_set_intr(vio->vdev->rx_ino, HV_INTR_ENABLED);
|
||||
}
|
||||
|
Reference in New Issue
Block a user