numam-dpdk/drivers/net
Lance Richardson e5f2b3ebcb net/bnxt: avoid unnecessary work in AVX2 Rx
Each call to the AVX2 vector burst receive function makes at
least one pass through the function's inner loop, loading
256 bytes of completion descriptors and copying 8 rte_mbuf
pointers regardless of whether there are any packets to be
received.

Unidirectional forwarding performance is improved by about
3-4% if we ensure that at least one packet can be received
before entering the inner loop.

Fixes: c4e4c18963 ("net/bnxt: add AVX2 RX/Tx")
Cc: stable@dpdk.org

Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2021-11-16 23:56:37 +01:00
..
af_packet net/af_packet: fix ignoring full ring on Tx 2021-11-04 12:56:32 +01:00
af_xdp net/af_xdp: workaround custom program loading 2021-11-15 18:01:09 +01:00
ark ethdev: add namespace 2021-10-22 18:15:38 +02:00
atlantic drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
avp drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
axgbe drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
bnx2x drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
bnxt net/bnxt: avoid unnecessary work in AVX2 Rx 2021-11-16 23:56:37 +01:00
bonding mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
cnxk net/cnxk: integrate BPF count get mailbox 2021-11-03 16:15:08 +01:00
cxgbe drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
dpaa drivers: check interrupt file descriptor validity 2021-11-08 17:32:42 +01:00
dpaa2 drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
e1000 drivers: check interrupt file descriptor validity 2021-11-08 17:32:42 +01:00
ena drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
enetc mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
enetfec net/enetfec: add features 2021-11-15 16:26:17 +01:00
enic net/enic: support GTP header flow matching 2021-11-04 12:34:46 +01:00
failsafe drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
fm10k drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
hinic net/hinic/base: remove some unused variables 2021-11-16 12:58:23 +01:00
hns3 net/hns3: optimize Tx performance 2021-11-16 16:39:20 +01:00
i40e net/i40e: fix risk in descriptor read in scalar Rx 2021-11-11 13:29:23 +01:00
iavf net/iavf: fix VLAN insertion 2021-11-16 12:39:50 +01:00
ice net/ice: fix secondary process Rx offload path 2021-11-16 05:56:16 +01:00
igc drivers: check interrupt file descriptor validity 2021-11-08 17:32:42 +01:00
ionic drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
ipn3ke drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
ixgbe drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
kni ethdev: add namespace 2021-10-22 18:15:38 +02:00
liquidio net/liquidio: remove unused counter 2021-11-16 13:01:52 +01:00
memif drivers: check interrupt file descriptor validity 2021-11-08 17:32:42 +01:00
mlx4 net/mlx4: fix crash on allocation failure 2021-11-08 17:32:42 +01:00
mlx5 net/mlx5: fix mutex unlock in Tx packet pacing cleanup 2021-11-16 17:55:17 +01:00
mvneta mbuf: add namespace to offload flags 2021-10-24 13:37:43 +02:00
mvpp2 drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
netvsc drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
nfb ethdev: add namespace 2021-10-22 18:15:38 +02:00
nfp net/nfp: remove unused message length 2021-11-16 13:01:52 +01:00
ngbe net/ngbe: support Tx done cleanup 2021-10-30 00:53:19 +02:00
null ethdev: add namespace 2021-10-22 18:15:38 +02:00
octeontx net/octeontx: remove unused packet length 2021-11-16 13:01:46 +01:00
octeontx2 drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
octeontx_ep net/octeontx_ep: remove octeontx2 dependency 2021-10-29 16:09:18 +02:00
pcap build: cleanup libpcap dependent components 2021-11-10 11:42:34 +01:00
pfe ethdev: add namespace 2021-10-22 18:15:38 +02:00
qede net/qede/base: remove unused message size 2021-11-16 13:01:52 +01:00
ring ethdev: add namespace 2021-10-22 18:15:38 +02:00
sfc net/sfc: support decrement IP TTL actions in transfer flows 2021-11-08 16:25:51 +01:00
softnic drivers/net: advertise no support for keeping flow rules 2021-11-02 18:59:17 +01:00
tap drivers: check interrupt file descriptor validity 2021-11-08 17:32:42 +01:00
thunderx drivers: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
txgbe net/txgbe: fix build with clang 13 2021-11-16 13:02:24 +01:00
vdev_netvsc version: 21.11-rc0 2021-08-17 08:37:52 +02:00
vhost vhost: rename driver callbacks struct 2021-11-03 11:59:27 +01:00
virtio net/virtio: fix link update in speed feature 2021-10-29 12:32:30 +02:00
vmxnet3 net/vmxnet3: fix build with clang 13 2021-11-16 13:02:27 +01:00
meson.build net/szedata2: remove driver 2021-11-15 16:50:35 +01:00