Adrien Mazarguil
a0d8e807d9
net/tap: add Rx trigger
This commit adds a signal-based trigger to the Rx burst function in order to avoid unnecessary system calls while Rx queues are empty. Triggered Rx bursts put less pressure on the kernel, free up CPU resources for applications and result in a noticeable performance improvement when sharing CPU threads with other PMDs. Measuring the traffic forwarding rate between two physical devices in testpmd (IO mode, single thread, 64B packets) before and after adding two tap PMD instances (4 ports total) that do not process any traffic and comparing results yields: Without Rx trigger: -15% (--burst=32) -62% (--burst=1) With Rx trigger: -0.3% (--burst=32) -6% (--burst=1) Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Pascal Mazon <pascal.mazon@6wind.com> Acked-by: Keith Wiles <keith.wiles@intel.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%