[dpdk-dev] Interrupt is catched in kernel, but not handled

Stephen Hemminger stephen at networkplumber.org
Fri Dec 6 17:55:50 CET 2019


On Sun, 1 Dec 2019 20:16:59 +0200
Ranran <ranshalit at gmail.com> wrote:

> בתאריך יום א׳, 1 בדצמ׳ 2019, 19:07, מאת Stephen Hemminger ‏<
> stephen at networkplumber.org>:
> 
> > On Sat, 30 Nov 2019 19:49:16 +0200
> > Ranran <ranshalit at gmail.com> wrote:
> >
> > > > >
> > > > > I also verified that there are no additional irq numbered 23 except
> > > > > for our device.
> > > > >
> > > > > How can it be that irq is catched, but not delivered to userspace ?
> > > > > Any suggestion is much appreciated,
> > > > >
> > > > > ran
> > > >
> > > > UIO PCI generic does not support interrupts.
> > > > You need to use VFIO (preferred) or igb_uio
> > > >
> >
> > Actually UIO PCI generic does support interrupts but only legacy INTx,
> > it does not support MSI or MSI-x modes.
> >
> 
> Right.
> The device I work with is FPGA xilinx which should support INTx. Yet, even
> though irqhandler is called, it does not pass pci_check_and_mask_intx, and
> therefore irq is not handled, as I written in the original post.

Your problem may be that the FPGA is not correctly implementing the PCI spec.
I saw this before with VMWare.

The kernel expects to be able to read the PCI_COMMAND register to
see if IRQ is pending and then write back INTX_DISABLE bit.



More information about the dev mailing list