Re: [PATCH] PCI: Mark broken INTx masking for BENET devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2015-01-07 at 04:29 +0000, Venkat Duvvuru wrote:
> Can someone please explain, why interrupt storm issue doesn't occur in non-VFIO scenario?

In a host driver scenario, the driver hopefully knows how to handle the
device in a way that interrupt masking is not needed.  If you're
comparing to legacy KVM device assignment, the answer is likely that
that code supports emulation of INTx using MSI.  This is a fairly kludgy
mode of operation that I'm not all the keen on implementing in VFIO.
The pci-assign driver can be forced to not use this mode, as it's been
found not to work universally, with the option prefer_msi=off.  Thanks,

Alex

> > -----Original Message-----
> > From: linux-pci-owner@xxxxxxxxxxxxxxx [mailto:linux-pci-
> > owner@xxxxxxxxxxxxxxx] On Behalf Of Gavin Shan
> > Sent: Monday, January 05, 2015 7:48 AM
> > To: linux-pci@xxxxxxxxxxxxxxx
> > Cc: Ajit Kumar Khaparde; bhelgaas@xxxxxxxxxx; Gavin Shan
> > Subject: [PATCH] PCI: Mark broken INTx masking for BENET devices
> > 
> > Similar to commit 11e4253 ("PCI: Assume all Mellanox devices have
> > broken INTx masking"), when passing through following PCI device
> > using VFIO infrastructure, interrupt storm are reported. After
> > marking its INTx masking is broken, the interrupt storm isn't
> > raised again:
> > 
> >  # lspci -s 0000::.
> >  0000:01:00.0 Ethernet controller: Emulex Corporation \
> >               OneConnect 10Gb NIC (be3) (rev 02)
> >  0000:01:00.1 Ethernet controller: Emulex Corporation \
> >               OneConnect 10Gb NIC (be3) (rev 02)
> >  # lspci -n -s 0000::.
> >  0000:01:00.0 0200: 19a2:0710 (rev 02)
> >  0000:01:00.1 0200: 19a2:0710 (rev 02)
> > 
> > Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx>
> > ---
> >  drivers/pci/quirks.c    | 2 ++
> >  include/linux/pci_ids.h | 2 ++
> >  2 files changed, 4 insertions(+)
> > 
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index ed6f89b..e823ac0 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -3027,6 +3027,8 @@
> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_REALTEK, 0x8169,
> >  			 quirk_broken_intx_masking);
> >  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MELLANOX, PCI_ANY_ID,
> >  			 quirk_broken_intx_masking);
> > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BE, PCI_ANY_ID,
> > +			 quirk_broken_intx_masking);
> > 
> >  #ifdef CONFIG_ACPI
> >  /*
> > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
> > index e63c02a..df70b76 100644
> > --- a/include/linux/pci_ids.h
> > +++ b/include/linux/pci_ids.h
> > @@ -2481,6 +2481,8 @@
> >  #define PCI_DEVICE_ID_KORENIX_JETCARDF2	0x1700
> >  #define PCI_DEVICE_ID_KORENIX_JETCARDF3	0x17ff
> > 
> > +#define PCI_VENDOR_ID_BE		0x19a2
> > +
> >  #define PCI_VENDOR_ID_QMI		0x1a32
> > 
> >  #define PCI_VENDOR_ID_AZWAVE		0x1a3b
> > --
> > 1.8.3.2
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux