[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