[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