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)

Reply via email to