Skip to content

Commit 30d19d5

Browse files
magnus-karlssonAlexei Starovoitov
authored andcommitted
ice: xsk: Eliminate unnecessary loop iteration
The NIC Tx ring completion routine cleans entries from the ring in batches. However, it processes one more batch than it is supposed to. Note that this does not matter from a functionality point of view since it will not find a set DD bit for the next batch and just exit the loop. But from a performance perspective, it is faster to terminate the loop before and not issue an expensive read over PCIe to get the DD bit. Fixes: 126cdfe ("ice: xsk: Improve AF_XDP ZC Tx and use batching API") Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20220328142123.170157-3-maciej.fijalkowski@intel.com
1 parent a95a4d9 commit 30d19d5

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/net/ethernet/intel/ice/ice_xsk.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,7 @@ static u16 ice_clean_xdp_irq_zc(struct ice_tx_ring *xdp_ring, int napi_budget)
754754
next_dd = next_dd + tx_thresh;
755755
if (next_dd >= desc_cnt)
756756
next_dd = tx_thresh - 1;
757-
} while (budget--);
757+
} while (--budget);
758758

759759
xdp_ring->next_dd = next_dd;
760760

0 commit comments

Comments
 (0)