ae2a04864a
When polling the bonded ports for RX packets the old driver would always start with the first slave in the list. If the requested number of packets is filled on the first port in a two port config then the second port could be starved or have larger number of missed packet errors. The code attempts to start with a different slave each time RX poll is done to help eliminate starvation of slave ports. The effect of the previous code was much lower performance for two slaves in the bond then just the one slave. The performance drop was detected when the application can not poll the rings of Rx packets fast enough and the packets per second for two or more ports was at the threshold throughput of the application. At this threshold the slaves would see very little or no drops in the case of one slave. Then enable the second slave you would see a large drop rate on the two slave bond and reduction in throughput. Signed-off-by: Keith Wiles <keith.wiles@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> |
||
---|---|---|
app | ||
buildtools | ||
config | ||
devtools | ||
doc | ||
drivers | ||
examples | ||
lib | ||
mk | ||
pkg | ||
test | ||
usertools | ||
.gitattributes | ||
.gitignore | ||
GNUmakefile | ||
LICENSE.GPL | ||
LICENSE.LGPL | ||
MAINTAINERS | ||
Makefile | ||
README |
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