On Tue, 5 May 2015 13:39:42 +0800 Cunming Liang <cunming.liang at intel.com> wrote:
> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > index aea1fb1..387f54c 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > +++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c > @@ -308,6 +308,18 @@ pci_vfio_setup_interrupts(struct rte_pci_device *dev, > int vfio_dev_fd) > case VFIO_PCI_MSIX_IRQ_INDEX: > internal_config.vfio_intr_mode = RTE_INTR_MODE_MSIX; > dev->intr_handle.type = RTE_INTR_HANDLE_VFIO_MSIX; > + for (i = 0; i < RTE_MAX_RXTX_INTR_VEC_ID; i++) { > + fd = eventfd(0, 0); > + if (fd < 0) { > + You should pass EFD_NONBLOCK and EFD_CLOEXEC as flags to any eventfd's created internally.