[dpdk-dev] [RFC PATCH v3 1/3] vfio: revert change that does intr eventfd setup at probe
Stephen Hemminger
stephen at networkplumber.org
Tue Jul 16 22:06:11 CEST 2019
On Tue, 16 Jul 2019 22:14:22 +0530
Nithin Dabilpuram <ndabilpuram at marvell.com> wrote:
> This reverts commit 89aac60e0be9ed95a87b16e3595f102f9faaffb4.
> "vfio: fix interrupts race condition"
>
> The above mentioned commit moves the interrupt's eventfd setup
> to probe time but only enables one interrupt for all types of
> interrupt handles i.e VFIO_MSI, VFIO_LEGACY, VFIO_MSIX, UIO.
> It works fine with default case but breaks below cases specifically
> for MSIX based interrupt handles.
>
> * Applications like l3fwd-power that request rxq interrupts
> while ethdev setup.
> * Drivers that need > 1 MSIx interrupts to be configured for
> functionality to work.
>
> VFIO PCI for MSIx expects all the possible vectors to be setup up
> when using VFIO_IRQ_SET_ACTION_TRIGGER so that they can be
> allocated from kernel pci subsystem. Only way to increase the number
> of vectors later is first free all by using VFIO_IRQ_SET_DATA_NONE
> with action trigger and then enable new vector count.
>
> Above commit changes the behavior of rte_intr_[enable|disable] to
> only mask and unmask unlike earlier behavior and thereby
> breaking above two scenarios.
>
> Fixes: 89aac60e0be9 ("vfio: fix interrupts race condition")
> Cc: david.marchand at redhat.com
>
> Signed-off-by: Nithin Dabilpuram <ndabilpuram at marvell.com>
This fixes the problem I am seeing with MSI-X.
Even with testpmd...
EAL: Error enabling MSI-X interrupts for fd 39
Tested-by: Stephen Hemminger <stephen at networkplumber.org>
More information about the dev
mailing list