numam-dpdk/drivers/net/i40e
Qi Zhang 864a800d70 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>
2018-07-03 01:35:58 +02:00
..
base net/i40e: fix shifts of signed values 2018-05-23 00:35:01 +02:00
i40e_ethdev_vf.c net/i40e: remove VF interrupt handler 2018-07-03 01:35:58 +02:00
i40e_ethdev.c net/i40e: remove VF interrupt handler 2018-07-03 01:35:58 +02:00
i40e_ethdev.h net/i40e: remove VF interrupt handler 2018-07-03 01:35:58 +02:00
i40e_fdir.c net/i40e: remove summarized global register change info 2018-07-03 01:35:58 +02:00
i40e_flow.c net/i40e: remove summarized global register change info 2018-07-03 01:35:58 +02:00
i40e_logs.h drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
i40e_pf.c ethdev: separate driver APIs 2018-01-22 01:26:49 +01:00
i40e_pf.h net/i40e: support AVF basic interface 2018-01-16 18:47:49 +01:00
i40e_regs.h drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
i40e_rxtx_vec_altivec.c ethdev: separate driver APIs 2018-01-22 01:26:49 +01:00
i40e_rxtx_vec_avx2.c ethdev: separate driver APIs 2018-01-22 01:26:49 +01:00
i40e_rxtx_vec_common.h net/i40e: remove dependency on old Rx flags 2018-05-23 00:35:01 +02:00
i40e_rxtx_vec_neon.c net/i40e: convert to SPDX license tag 2018-05-25 12:32:00 +02:00
i40e_rxtx_vec_sse.c ethdev: separate driver APIs 2018-01-22 01:26:49 +01:00
i40e_rxtx.c ethdev: add new offload flag to keep CRC 2018-07-03 01:35:58 +02:00
i40e_rxtx.h net/i40e: check illegal packets 2018-07-03 01:35:58 +02:00
i40e_tm.c drivers: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
i40e_vf_representor.c net/i40e: remove dependency on old Rx flags 2018-05-23 00:35:01 +02:00
Makefile net/i40e: add support for representor ports 2018-04-27 18:00:57 +01:00
meson.build net/i40e: fix missing defines for non-AVX build 2018-05-08 22:14:07 +02:00
rte_pmd_i40e_version.map net/i40e: support input set configuration 2018-01-16 18:47:49 +01:00
rte_pmd_i40e.c net/i40e: remove summarized global register change info 2018-07-03 01:35:58 +02:00
rte_pmd_i40e.h net/i40e: add support for representor ports 2018-04-27 18:00:57 +01:00