On 2020-07-28 22:15, Jakub Kicinski wrote:
On Tue, 28 Jul 2020 12:08:41 -0700 Tony Nguyen wrote:diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c b/drivers/net/ethernet/intel/i40e/i40e_xsk.c index 1f2dd591dbf1..99f4afdc403d 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c +++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c @@ -265,6 +265,8 @@ static void i40e_inc_ntc(struct i40e_ring *rx_ring) rx_ring->next_to_clean = ntc; }+#define I40E_XSK_CLEAN_RX_BUDGET 256U+ /** * i40e_clean_rx_irq_zc - Consumes Rx packets from the hardware ring * @rx_ring: Rx ring @@ -280,7 +282,7 @@ int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget) bool failure = false; struct sk_buff *skb;- while (likely(total_rx_packets < (unsigned int)budget)) {+ while (likely(total_rx_packets < I40E_XSK_CLEAN_RX_BUDGET)) { union i40e_rx_desc *rx_desc; struct xdp_buff **bi; unsigned int size;Should this perhaps be a common things that drivers do? Should we define a "XSK_NAPI_WEIGHT_MULT 4" instead of hard coding the value in a driver?
Yes, that's a good idea. I can generalize for the AF_XDP paths in the other drivers as a follow up!
Cheers, Björn (in vacation mode)
