Go to file
Qi Zhang ff6edd3886 net/i40e: fix out of order Rx read
In vPMD, when we load Rx desc with _mm_loadu_si128, the volatile
modifier will be cast away, allowing the compiler to reorder the
load instructions.

The Rx recv function's correctness is relying on these load
instructions following a strict sequence, reading the descriptors
in reverse order, so we add compiler barrier to prevent compiler
reorder.

Fixes: 9ed94e5bb0 ("i40e: add vector Rx")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-10-26 19:38:18 +02:00
app app/testpmd: fix flow director endianness 2016-10-26 19:38:18 +02:00
buildtools pmdinfogen: fix clang build 2016-10-04 11:50:56 +02:00
config net/i40e: implement vector PMD for ARM 2016-10-26 19:38:00 +02:00
doc app/testpmd: fix flow director mask 2016-10-26 19:38:18 +02:00
drivers net/i40e: fix out of order Rx read 2016-10-26 19:38:18 +02:00
examples examples/l3fwd: use accelerated CRC on ARM 2016-10-25 18:49:18 +02:00
lib vhost: support indirect descriptor in non-mergeable Rx 2016-10-26 13:39:09 +02:00
mk drivers: rename register macro prefix 2016-10-14 01:49:32 +02:00
pkg version: 16.07.0 2016-07-28 20:48:41 +02:00
scripts app/testpmd: use consistent vdev names 2016-10-13 15:55:51 +02:00
tools tools: bind crypto devices 2016-10-04 20:41:09 +02: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/i40e: implement vector PMD for ARM 2016-10-26 19:38:00 +02: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