mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-19 06:47:48 +00:00
ionic: minimal work with 0 budget
We should be doing as little as possible besides freeing Tx space when our napi routines are called with budget of 0, so jump out before doing anything besides Tx cleaning. See commit afbed3f74830 ("net/mlx5e: do as little as possible in napi poll when budget is 0") for more info. Fixes: fe8c30b50835 ("ionic: separate interrupt for Tx and Rx") Reviewed-by: Brett Creeley <brett.creeley@amd.com> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Link: https://lore.kernel.org/r/20240210001307.48450-1-shannon.nelson@amd.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
1692b9775e
commit
2f74258d99
@ -579,6 +579,9 @@ int ionic_tx_napi(struct napi_struct *napi, int budget)
|
||||
work_done = ionic_cq_service(cq, budget,
|
||||
ionic_tx_service, NULL, NULL);
|
||||
|
||||
if (unlikely(!budget))
|
||||
return budget;
|
||||
|
||||
if (work_done < budget && napi_complete_done(napi, work_done)) {
|
||||
ionic_dim_update(qcq, IONIC_LIF_F_TX_DIM_INTR);
|
||||
flags |= IONIC_INTR_CRED_UNMASK;
|
||||
@ -607,6 +610,9 @@ int ionic_rx_napi(struct napi_struct *napi, int budget)
|
||||
u32 work_done = 0;
|
||||
u32 flags = 0;
|
||||
|
||||
if (unlikely(!budget))
|
||||
return budget;
|
||||
|
||||
lif = cq->bound_q->lif;
|
||||
idev = &lif->ionic->idev;
|
||||
|
||||
@ -656,6 +662,9 @@ int ionic_txrx_napi(struct napi_struct *napi, int budget)
|
||||
tx_work_done = ionic_cq_service(txcq, IONIC_TX_BUDGET_DEFAULT,
|
||||
ionic_tx_service, NULL, NULL);
|
||||
|
||||
if (unlikely(!budget))
|
||||
return budget;
|
||||
|
||||
rx_work_done = ionic_cq_service(rxcq, budget,
|
||||
ionic_rx_service, NULL, NULL);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user