summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorQi Zhang <qi.z.zhang@intel.com>2018-06-27 21:15:27 +0800
committerFerruh Yigit <ferruh.yigit@intel.com>2018-07-03 01:35:58 +0200
commit864a800d706d5401e40e2d0a786be97c879a36ec (patch)
tree9566235cca4463bde49a61f1c4a167956aca6a17 /config
parent41e45c905672349266f0b4b467908c568fcc93b0 (diff)
downloaddpdk-864a800d706d5401e40e2d0a786be97c879a36ec.zip
dpdk-864a800d706d5401e40e2d0a786be97c879a36ec.tar.gz
dpdk-864a800d706d5401e40e2d0a786be97c879a36ec.tar.xz
net/i40e: remove VF interrupt handler
For i40evf, internal rx interrupt and adminq interrupt share the same source, that cause a lot cpu cycles be wasted on interrupt handler on rx path. This is complained by customers which require low latency (when set I40E_ITR_INTERVAL to small value), but have to be sufferred by tremendous interrupts handling that eat significant CPU resources. The patch disable pci interrupt and remove the interrupt handler, replace it with a low frequency (50ms) interrupt polling daemon which is implemented by registering a alarm callback periodly, this save CPU time significently: On a typical x86 server with 2.1GHz CPU, with low latency configure (32us) we saw CPU usage from top commmand reduced from 20% to 0% on management core in testpmd). Also with the new method we can remove compile option: I40E_ITR_INTERVAL which is used to balance between low latency and low CPU usage previously. Now we don't need it since we can reach both at same time. Suggested-by: Jingjing Wu <jingjing.wu@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com>
Diffstat (limited to 'config')
-rw-r--r--config/common_base2
1 files changed, 0 insertions, 2 deletions
diff --git a/config/common_base b/config/common_base
index 721e59b..323c49a 100644
--- a/config/common_base
+++ b/config/common_base
@@ -264,8 +264,6 @@ CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y
CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
-# interval up to 8160 us, aligned to 2 (or default value)
-CONFIG_RTE_LIBRTE_I40E_ITR_INTERVAL=-1
#
# Compile burst-oriented FM10K PMD