Hi, > -----Original Message----- > From: dev [mailto:[email protected]] On Behalf Of Nithin Dabilpuram > Sent: Wednesday, July 17, 2019 13:59 > To: Hyong Youb Kim <[email protected]>; David Marchand > <[email protected]>; Thomas Monjalon > <[email protected]>; Yigit, Ferruh <[email protected]>; Burakov, > Anatoly <[email protected]> > Cc: [email protected]; John Daley <[email protected]>; Shahed Shaikh > <[email protected]>; [email protected]; Nithin Dabilpuram > <[email protected]> > Subject: [dpdk-dev] [PATCH 1/3] vfio: revert change that does intr eventfd > setup at probe > > 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: [email protected] > > Signed-off-by: Nithin Dabilpuram <[email protected]> > Signed-off-by: Jerin Jacob <[email protected]> > --- > drivers/bus/pci/linux/pci_vfio.c | 78 ++++++------ > lib/librte_eal/linux/eal/eal_interrupts.c | 201 +++++++++++++++++++++++- > ------
I can confirm this patch fixes "EAL: error configuring interrupt" issue on my C6XX board Damian

