numam-dpdk/drivers
David Marchand 89aac60e0b vfio: fix interrupts race condition
Populating the eventfd in rte_intr_enable in each request to vfio
triggers a reconfiguration of the interrupt handler on the kernel side.
The problem is that rte_intr_enable is often used to re-enable masked
interrupts from drivers interrupt handlers.

This reconfiguration leaves a window during which a device could send
an interrupt and then the kernel logs this (unsolicited from the kernel
point of view) interrupt:
[158764.159833] do_IRQ: 9.34 No irq handler for vector

VFIO api makes it possible to set the fd at setup time.
Make use of this and then we only need to ask for masking/unmasking
legacy interrupts and we have nothing to do for MSI/MSIX.

"rxtx" interrupts are left untouched but are most likely subject to the
same issue.

Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1654824
Fixes: 5c782b3928 ("vfio: interrupts")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Shahed Shaikh <shshaikh@marvell.com>
2019-07-10 18:53:47 +02:00
..
baseband baseband/turbo_sw: extend for 5G 2019-07-05 15:28:14 +02:00
bus vfio: fix interrupts race condition 2019-07-10 18:53:47 +02:00
common common/octeontx2: cleanup void returns 2019-07-08 15:29:25 +02:00
compress compress/isal: fix use after free 2019-07-05 14:52:25 +02:00
crypto crypto/qat: extend support for digest-encrypted auth-cipher 2019-07-05 15:28:14 +02:00
event event/octeontx2: add Tx adapter 2019-07-07 15:51:53 +02:00
mempool mempool/octeontx2: fix pool populating 2019-07-08 11:52:17 +02:00
net net/memif: use new ethernet address parser 2019-07-08 21:26:52 +02:00
raw raw/ioat: fix icc build 2019-07-05 15:01:59 +02:00
Makefile
meson.build build: print list of disabled components 2019-07-02 23:20:26 +02:00