[dpdk-dev] [PATCH v2 2/4] net/ixgbevf: set the inter-interrupt interval for EITR.

xiangxia.m.yue at gmail.com xiangxia.m.yue at gmail.com
Thu Jan 11 17:39:49 CET 2018


From: Tonghao Zhang <xiangxia.m.yue at gmail.com>

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.

Signed-off-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
---
 config/common_base               | 2 ++
 drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/config/common_base b/config/common_base
index e74febe..9e6f048 100644
--- a/config/common_base
+++ b/config/common_base
@@ -196,6 +196,8 @@ CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER=n
 CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
 CONFIG_RTE_IXGBE_INC_VECTOR=y
 CONFIG_RTE_LIBRTE_IXGBE_BYPASS=n
+# interval up to 1024 us, (0us as default value)
+CONFIG_RTE_LIBRTE_IXGBE_ITR_INTERVAL=0
 
 #
 # Compile burst-oriented I40E PMD driver
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 0e056a2..49f486a 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -5809,6 +5809,10 @@ static void ixgbevf_set_vfta_all(struct rte_eth_dev *dev, bool on)
 		if (vector_idx < base + intr_handle->nb_efd - 1)
 			vector_idx++;
 	}
+
+	IXGBE_WRITE_REG(hw, IXGBE_VTEITR(IXGBE_MISC_VEC_ID),
+			IXGBE_EITR_INTERVAL_US(RTE_LIBRTE_IXGBE_ITR_INTERVAL)
+			| IXGBE_EITR_CNT_WDIS);
 }
 
 /**
-- 
1.8.3.1



More information about the dev mailing list