]> git.droids-corp.org - dpdk.git/commitdiff
net/ixgbevf: set the interrupt interval for EITR
authorTonghao Zhang <xiangxia.m.yue@gmail.com>
Sat, 28 Apr 2018 03:03:37 +0000 (20:03 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 14 May 2018 21:31:49 +0000 (22:31 +0100)
Set EITR interval as default. This patch can improve the
performance when we enable the rx-interrupt to process the
packets because we hope rx-interrupt reduce CPU. For example,
the 200us value of EITR makes the performance better with
the low CPU. The default value of ITR is 500us, compatible
with RSC of ixgbe PF, and next patch will use the default value.

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ixgbe/ixgbe_ethdev.c
drivers/net/ixgbe/ixgbe_ethdev.h

index 72fc02dfd4cc20629d0a9a7283a47c67b18515e6..7ba05c49644e3ad0417bf20a354ba90f8e8fd11c 100644 (file)
@@ -5797,6 +5797,13 @@ ixgbevf_configure_msix(struct rte_eth_dev *dev)
                if (vector_idx < base + intr_handle->nb_efd - 1)
                        vector_idx++;
        }
+
+       /* As RX queue setting above show, all queues use the vector 0.
+        * Set only the ITR value of IXGBE_MISC_VEC_ID.
+        */
+       IXGBE_WRITE_REG(hw, IXGBE_VTEITR(IXGBE_MISC_VEC_ID),
+                       IXGBE_EITR_INTERVAL_US(IXGBE_QUEUE_ITR_INTERVAL_DEFAULT)
+                       | IXGBE_EITR_CNT_WDIS);
 }
 
 /**
index cc512d60232cfe593d2bfca531a98185573c9877..e42ec30d32b54715a8d0705a22f5dfb1dc30f5e0 100644 (file)
@@ -62,6 +62,7 @@
        (((us) * 1000 / IXGBE_EITR_INTERVAL_UNIT_NS << IXGBE_EITR_ITR_INT_SHIFT) & \
                IXGBE_EITR_ITR_INT_MASK)
 
+#define IXGBE_QUEUE_ITR_INTERVAL_DEFAULT       500 /* 500us */
 
 /* Loopback operation modes */
 /* 82599 specific loopback operation types */