numam-dpdk/drivers/net
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
..
af_packet net/af_packet: guard against buffer overruns in Tx path 2017-01-17 19:40:51 +01:00
bnx2x ethdev: fix extended statistics name index 2017-01-04 19:04:30 +01:00
bnxt pci: separate detaching ethernet ports from PCI devices 2017-01-12 15:48:54 +01:00
bonding net: align ethdev and eal driver names 2017-01-17 19:36:47 +01:00
cxgbe ethdev: decouple from PCI device 2016-12-25 23:30:19 +01:00
e1000 net/e1000/base: announce supported devices 2017-01-17 19:38:40 +01:00
ena net/ena: add Tx preparation 2017-01-04 20:40:26 +01:00
enic ethdev: decouple from PCI device 2016-12-25 23:30:19 +01:00
fm10k pci: separate detaching ethernet ports from PCI devices 2017-01-12 15:48:54 +01:00
i40e net/i40e: remove unused macro 2017-01-17 19:39:28 +01:00
ixgbe net/ixgbe/base: update shared code version to 2016.11.21 2017-01-17 19:40:51 +01:00
mlx4 scripts: move to buildtools 2017-01-04 21:17:32 +01:00
mlx5 net/mlx5: do not invalidate title CQE 2017-01-17 19:24:51 +01:00
mpipe net: align ethdev and eal driver names 2017-01-17 19:36:47 +01:00
nfp net/nfp: avoid modulo operations for handling ring wrapping 2017-01-17 19:40:52 +01:00
null net: align ethdev and eal driver names 2017-01-17 19:36:47 +01:00
pcap net/pcap: fix timestamps in output pcap file 2017-01-17 19:40:51 +01:00
qede net/qede/base: fix VF over legacy PF 2017-01-17 19:40:52 +01:00
ring net: align ethdev and eal driver names 2017-01-17 19:36:47 +01:00
sfc net/sfc: advertise kmod dependencies in pmdinfo 2017-01-17 19:40:51 +01:00
szedata2 ethdev: decouple from PCI device 2016-12-25 23:30:19 +01:00
tap net/tap: add TUN/TAP device PMD 2017-01-17 19:40:50 +01:00
thunderx ethdev: decouple from PCI device 2016-12-25 23:30:19 +01:00
vhost net: align ethdev and eal driver names 2017-01-17 19:36:47 +01:00
virtio net: align ethdev and eal driver names 2017-01-17 19:36:47 +01:00
vmxnet3 net/vmxnet3: fix Rx deadlock 2017-01-17 19:40:51 +01:00
xenvirt net: align ethdev and eal driver names 2017-01-17 19:36:47 +01:00
Makefile net/tap: add TUN/TAP device PMD 2017-01-17 19:40:50 +01:00