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?