On Thu, Apr 7, 2022 at 8:45 AM Tianli Lai <laitia...@tom.com> wrote: > > vmxnet3 device use MSI-X interrupt type. > vmxnet3 driver configure the hardware to generate MSI-X interrupts > would fail when call rte_intr_cap_multiple function return zero.
Iiuc, the issue is that you are using vmxnet3 devices bound to igb_uio. Out of curiosity, why not use vfio-pci? > > Signed-off-by: Tianli Lai <laitia...@tom.com> > --- > lib/eal/linux/eal_interrupts.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/lib/eal/linux/eal_interrupts.c b/lib/eal/linux/eal_interrupts.c > index d52ec8eb4c..4b4dffa20c 100644 > --- a/lib/eal/linux/eal_interrupts.c > +++ b/lib/eal/linux/eal_interrupts.c > @@ -1596,6 +1596,9 @@ rte_intr_cap_multiple(struct rte_intr_handle > *intr_handle) > if (rte_intr_type_get(intr_handle) == RTE_INTR_HANDLE_VDEV) > return 1; > > + if (rte_intr_type_get(intr_handle) == RTE_INTR_HANDLE_UIO) > + return 1; > + Doing this will let drivers think there are multiple fds, ok. Though (I am not entirely sure) with this patch only, are not all vectors pointing to a single fd. For example, did you test Rx interrupts? with more than 1 rxq? -- David Marchand