Hi, Jianwei How about your test result ? Hi Wenzhuo Would you please review this patch ?
Thanks a lot ! > -----Original Message----- > From: Dai, Wei > Sent: Thursday, September 28, 2017 10:29 AM > To: Lu, Wenzhuo <wenzhuo...@intel.com>; Ananyev, Konstantin > <konstantin.anan...@intel.com>; Liang, Cunming > <cunming.li...@intel.com>; Ma, Jianwei <jianwei...@intel.com> > Cc: dev@dpdk.org; Dai, Wei <wei....@intel.com>; sta...@dpdk.org > Subject: [PATCH v2] net/ixgbe: fix VFIO interrupt mapping in VF > > When a VF port is bound to VFIO-PIC, only miscellaneous interrupt is mapped > to VFIO vector 0 in eth_ixgbevf_dev_init( ). > In ixgbevf_dev_start(), if previous VFIO interrupt mapping set in > eth_ixgbevf_dev_init( ) is not cleard, it will fail when calling > rte_intr_enable( ) > tries to map Rx queue interrupt to other VFIO vectors. This patch clears the > VFIO interrupt mappings before setting both miscellaneous and Rx queue > interrupt mappings again to avoid failure. > > Fixes: 77234603fba0 ("net/ixgbe: support VF mailbox interrupt for link > up/down") > Cc: sta...@dpdk.org > > Signed-off-by: Wei Dai <wei....@intel.com> > --- > drivers/net/ixgbe/ixgbe_ethdev.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c > b/drivers/net/ixgbe/ixgbe_ethdev.c > index 9ca5cbc..f49c616 100644 > --- a/drivers/net/ixgbe/ixgbe_ethdev.c > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c > @@ -5046,6 +5046,15 @@ ixgbevf_dev_start(struct rte_eth_dev *dev) > } > ixgbevf_configure_msix(dev); > > + /* When a VF port is bound to VFIO-PCI, only miscellaneous interrupt > + * is mapped to VFIO vector 0 in eth_ixgbevf_dev_init( ). > + * If previous VFIO interrupt mapping setting in eth_ixgbevf_dev_init( ) > + * is not cleared, it will fail when following rte_intr_enable( ) tries > + * to map Rx queue interrupt to other VFIO vectors. > + * So clear uio/vfio intr/evevnfd first to avoid failure. > + */ > + rte_intr_disable(intr_handle); > + > rte_intr_enable(intr_handle); > > /* Re-enable interrupt for VF */ > -- > 2.7.5