Go to file
Alejandro Lucero 74a640dac8 net/nfp: avoid modulo operations for handling ring wrapping
Having those modulo operations implies costly instructions execution,
what can be avoided with conditionals and unlikely clauses.

This change makes the software ring read and write indexes to be now
always within the ring size which has to be handled properly. The main
problem is when write pointer wraps and being less than the read pointer.
This happened before, but just with indexes type size (uint32_t) wrapping,
and in that case the processor does the right thing no requiring special
handling by software.

This work has also led to discovering redundant pointers in the driver,
which have been removed.

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
2017-01-17 19:40:52 +01:00
app app/testpmd: cleanup parameter checking 2017-01-17 19:39:28 +01:00
buildtools pmdinfogen: fix null dereference 2017-01-06 11:40:30 +01:00
config net/sfc: support firmware-assisted TSO 2017-01-17 19:40:51 +01:00
devtools devtools: skip capitalization check for commit prefixes 2017-01-13 17:03:43 +01:00
doc net/qede: add fastpath support for VXLAN tunneling 2017-01-17 19:40:52 +01:00
drivers net/nfp: avoid modulo operations for handling ring wrapping 2017-01-17 19:40:52 +01:00
examples examples/ethtool: use ixgbe public function 2017-01-17 19:39:28 +01:00
lib ethdev: remove some VF functions 2017-01-17 19:40:50 +01:00
mk net/tap: add TUN/TAP device PMD 2017-01-17 19:40:50 +01:00
pkg tools: move to usertools 2017-01-04 21:17:32 +01:00
usertools tools: move to usertools 2017-01-04 21:17:32 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: generate NIC overview table from ini files 2016-08-03 18:42:17 +02:00
GNUmakefile pmdinfogen: add buildtools and pmdinfogen utility 2016-07-06 22:34:39 +02:00
LICENSE.GPL doc: GPL/LGPL licenses 2013-07-25 14:43:06 +02:00
LICENSE.LGPL doc: fix file format (dos to unix) 2013-09-06 11:43:07 +02:00
MAINTAINERS net/tap: add TUN/TAP device PMD 2017-01-17 19:40:50 +01:00
Makefile remove trailing whitespaces 2014-06-11 00:29:34 +02:00
README doc: add readme file 2015-12-13 22:06:58 +01:00

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