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:

committed by
David S. Miller

parent
63a6fff353
commit
6ad20165d3
@@ -975,7 +975,7 @@ static int qlcnic_poll(struct napi_struct *napi, int budget)
|
||||
work_done = budget;
|
||||
|
||||
if (work_done < budget) {
|
||||
napi_complete(&sds_ring->napi);
|
||||
napi_complete_done(&sds_ring->napi, work_done);
|
||||
if (test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
|
||||
qlcnic_enable_sds_intr(adapter, sds_ring);
|
||||
qlcnic_enable_tx_intr(adapter, tx_ring);
|
||||
@@ -1019,7 +1019,7 @@ static int qlcnic_rx_poll(struct napi_struct *napi, int budget)
|
||||
work_done = qlcnic_process_rcv_ring(sds_ring, budget);
|
||||
|
||||
if (work_done < budget) {
|
||||
napi_complete(&sds_ring->napi);
|
||||
napi_complete_done(&sds_ring->napi, work_done);
|
||||
if (test_bit(__QLCNIC_DEV_UP, &adapter->state))
|
||||
qlcnic_enable_sds_intr(adapter, sds_ring);
|
||||
}
|
||||
@@ -1966,7 +1966,7 @@ static int qlcnic_83xx_msix_sriov_vf_poll(struct napi_struct *napi, int budget)
|
||||
work_done = budget;
|
||||
|
||||
if (work_done < budget) {
|
||||
napi_complete(&sds_ring->napi);
|
||||
napi_complete_done(&sds_ring->napi, work_done);
|
||||
qlcnic_enable_sds_intr(adapter, sds_ring);
|
||||
}
|
||||
|
||||
@@ -1994,7 +1994,7 @@ static int qlcnic_83xx_poll(struct napi_struct *napi, int budget)
|
||||
work_done = budget;
|
||||
|
||||
if (work_done < budget) {
|
||||
napi_complete(&sds_ring->napi);
|
||||
napi_complete_done(&sds_ring->napi, work_done);
|
||||
qlcnic_enable_sds_intr(adapter, sds_ring);
|
||||
}
|
||||
|
||||
@@ -2032,7 +2032,7 @@ static int qlcnic_83xx_rx_poll(struct napi_struct *napi, int budget)
|
||||
adapter = sds_ring->adapter;
|
||||
work_done = qlcnic_83xx_process_rcv_ring(sds_ring, budget);
|
||||
if (work_done < budget) {
|
||||
napi_complete(&sds_ring->napi);
|
||||
napi_complete_done(&sds_ring->napi, work_done);
|
||||
if (test_bit(__QLCNIC_DEV_UP, &adapter->state))
|
||||
qlcnic_enable_sds_intr(adapter, sds_ring);
|
||||
}
|
||||
|
Reference in New Issue
Block a user