numam-dpdk/drivers/net
Ophir Munk 54b20f94cd net/mlx4: fix premature disabling of interrupt
RXQ interrupts under Linux are based on the epoll mechanism. An
expected order of operations is as follows:
1. Call rte_eth_dev_rx_intr_enable(), to arm the CQ for receiving events
on data input.
2. Block on rte_epoll_wait() with an array of file descriptors
representing the CQ events. Upon data arrival the kernel will signal an
input event on the corresponding CQ fd.
3. Call rte_eth_dev_rx_intr_disable() after the event was received and
continue in polling mode. The mlx4 implementation of
rte_eth_dev_rx_intr_disable() is to get the CQ event and ack it.

In practice applications may wake up from rte_epoll_wait() due to
timeout with no event to ack but still call
rte_eth_dev_rx_intr_disable() unconditionally.  In such cases the call
should return EAGAIN (since the file descriptors are non-blocked), as
opposed to EINVAL which indicates a real failure.  In case of EAGAIN the
PMD should not warn on "unable to disable interrupt on rx queue".

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Raslan Darawsheh <rasland@mellanox.com>
2020-07-30 00:41:23 +02:00
..
af_packet net/af_packet: fix munmap on init failure 2020-07-17 18:21:21 +02:00
af_xdp net/af_xdp: remove mempool freeing on umem destruction 2020-07-30 00:41:23 +02:00
ark
atlantic drivers/net: fix exposing internal headers 2020-07-11 06:18:54 +02:00
avp
axgbe
bnx2x
bnxt net/bnxt: support exact match templates 2020-07-21 13:54:54 +02:00
bonding net/bonding: change state machine to defaulted 2020-07-21 13:54:54 +02:00
cxgbe
dpaa net/dpaa: support queue info routines 2020-07-21 13:54:54 +02:00
dpaa2 net/dpaa2: support queue info routines 2020-07-21 13:54:54 +02:00
e1000 net/e1000: fix crash on Tx done clean up 2020-07-21 13:54:54 +02:00
ena
enetc
enic net/enic: support burst mode info 2020-07-11 06:18:53 +02:00
failsafe
fm10k ethdev: fix VLAN offloads set if no relative capabilities 2020-07-11 06:18:53 +02:00
hinic net/hinic: check memory allocations in flow creation 2020-07-30 00:41:23 +02:00
hns3 net/hns3: fix RSS configuration on empty RSS type 2020-07-17 18:21:21 +02:00
i40e net/i40e: enable QinQ stripping 2020-07-30 00:41:23 +02:00
iavf net/iavf: delete unsupported RSS types 2020-07-30 00:41:23 +02:00
ice net/ice: fix hash action validation 2020-07-30 00:41:23 +02:00
igc
ionic
ipn3ke
ixgbe net/ixgbe: fix flow control status 2020-07-21 13:54:54 +02:00
kni
liquidio
memif
mlx4 net/mlx4: fix premature disabling of interrupt 2020-07-30 00:41:23 +02:00
mlx5 net/mlx5: fix Rx interrupt handling and cleanup 2020-07-30 00:41:23 +02:00
mvneta
mvpp2
netvsc net/netvsc: detach external buffer on failure 2020-07-11 06:18:53 +02:00
nfb
nfp net/nfp: fix RSS hash configuration reporting 2020-07-11 06:18:54 +02:00
null
octeontx ethdev: fix VLAN offloads set if no relative capabilities 2020-07-11 06:18:53 +02:00
octeontx2 net/octeontx2: free CQ ring memzone on queue release 2020-07-21 16:04:06 +02:00
pcap
pfe
qede net/qede: remove dead code 2020-07-30 00:41:23 +02:00
ring
sfc net/sfc: do not enforce hash offload in RSS multi-queue 2020-07-21 18:13:45 +02:00
softnic
szedata2
tap
thunderx
vdev_netvsc
vhost net/vhost: support queue update 2020-07-21 19:03:24 +02:00
virtio net/virtio-user: fix uninitialized reply-ack variable 2020-07-17 18:21:21 +02:00
vmxnet3
Makefile
meson.build