From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dai, Wei" Subject: Re: [PATCH v2] net/ixgbe: fix VFIO interrupt mapping in VF Date: Wed, 11 Oct 2017 07:22:25 +0000 Message-ID: <49759EB36A64CF4892C1AFEC9231E8D650BA02AA@PGSMSX106.gar.corp.intel.com> References: <1505902146-50272-1-git-send-email-wei.dai@intel.com> <1506565713-70534-1-git-send-email-wei.dai@intel.com> <49759EB36A64CF4892C1AFEC9231E8D650B9FCA4@PGSMSX106.gar.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" , "stable@dpdk.org" To: "Ma, Jianwei" , "Lu, Wenzhuo" , "Ananyev, Konstantin" , "Liang, Cunming" Return-path: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Reply for correct mail format. > -----Original Message----- > From: Dai, Wei > Sent: Wednesday, October 11, 2017 3:07 PM > To: Ma, Jianwei ; Lu, Wenzhuo > ; Ananyev, Konstantin > ; Liang, Cunming > > Cc: dev@dpdk.org; stable@dpdk.org > Subject: RE: [PATCH v2] net/ixgbe: fix VFIO interrupt mapping in VF >=20 > I look through from web browser and not find following mail from Jianwei > Ma Hope this can add his test result in the mail l= ist > to community. >=20 > > -----Original Message----- > > From: Ma, Jianwei > > Sent: Tuesday, October 10, 2017 4:47 PM > > To: Dai, Wei ; Lu, Wenzhuo > ; > > Ananyev, Konstantin ; Liang, Cunming > > > > Cc: dev@dpdk.org; stable@dpdk.org > > Subject: RE: [PATCH v2] net/ixgbe: fix VFIO interrupt mapping in VF > > > > Verified with l3fwd-power. It worked well with this patch plus > > http://dpdk.org/dev/patchwork/patch/29000/ " [dpdk-dev] net/ixgbe: > > fix Rx queue interrupt mapping in VF" > > > > -----Original Message----- > > From: Dai, Wei > > Sent: Tuesday, October 10, 2017 11:30 > > To: Lu, Wenzhuo ; Ananyev, Konstantin > > ; Liang, Cunming > > ; Ma, Jianwei > > Cc: dev@dpdk.org; stable@dpdk.org > > Subject: RE: [PATCH v2] net/ixgbe: fix VFIO interrupt mapping in VF > > > > 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 ; Ananyev, Konstantin > > > ; Liang, Cunming > > > ; Ma, Jianwei > > > Cc: dev@dpdk.org; Dai, Wei ; stable@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: stable@dpdk.org > > > > > > Signed-off-by: Wei Dai Tested-by: Jianwei Ma > > > --- > > > 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( ) t= ries > > > + * 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