Thread (1 message) 1 message, 1 author, 2017-10-11

Re: [PATCH v2] net/ixgbe: fix VFIO interrupt mapping in VF

From: Dai, Wei <hidden>
Date: 2017-10-11 07:07:13

I look through from web browser and not find following mail from Jianwei Ma [off-list ref]
Hope this can add his test result in the mail list to community.
-----Original Message-----
From: Ma, Jianwei
Sent: Tuesday, October 10, 2017 4:47 PM
To: Dai, Wei <redacted>; Lu, Wenzhuo <redacted>;
Ananyev, Konstantin [off-list ref]; Liang, Cunming
[off-list ref]
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 <redacted>; Ananyev, Konstantin
[off-list ref]; Liang, Cunming
[off-list ref]; Ma, Jianwei [off-list ref]
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 !
quoted
-----Original Message-----
From: Dai, Wei
Sent: Thursday, September 28, 2017 10:29 AM
To: Lu, Wenzhuo <redacted>; Ananyev, Konstantin
[off-list ref]; Liang, Cunming
[off-list ref]; Ma, Jianwei [off-list ref]
Cc: dev@dpdk.org; Dai, Wei <redacted>; 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.
quoted
Fixes: 77234603fba0 ("net/ixgbe: support VF mailbox interrupt for link
up/down")
Cc: stable@dpdk.org

Signed-off-by: Wei Dai <redacted>
Tested-by: Jianwei Ma <redacted>
quoted
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help