[dpdk-dev] [EXT] [PATCH] net/qede: remove interrupt reconfigure in handler

Rasesh Mody rmody at marvell.com
Wed Jun 26 00:50:29 CEST 2019


>From: David Marchand <david.marchand at redhat.com>
>Sent: Tuesday, June 25, 2019 6:39 AM
>
>----------------------------------------------------------------------
>rte_intr_enable/rte_intr_disable configure the interrupt context on the
>kernel side (either uio or vfio).
>In VFIO case, calling it from the interrupt handlers triggers an unneeded
>interrupt handlers reconfiguration.
>During this reconfiguration window, the device can trigger interrupts which
>are left unserviced.
>
>Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1654824
>Fixes: 245aec289338 ("net/qede: fix legacy interrupt mode")
>Fixes: 2ea6f76aff40 ("qede: add core driver")
>Cc: stable at dpdk.org
>
>Signed-off-by: David Marchand <david.marchand at redhat.com>
>---

Change looks good, thanks.

Acked-by: Rasesh Mody <rmody at marvell.com>

> drivers/net/qede/qede_ethdev.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
>diff --git a/drivers/net/qede/qede_ethdev.c
>b/drivers/net/qede/qede_ethdev.c index 82363e6..807016a 100644
>--- a/drivers/net/qede/qede_ethdev.c
>+++ b/drivers/net/qede/qede_ethdev.c
>@@ -245,12 +245,8 @@ static void qede_interrupt_action(struct ecore_hwfn
>*p_hwfn)
>
> 	/* Check if our device actually raised an interrupt */
> 	status =
>ecore_int_igu_read_sisr_reg(ECORE_LEADING_HWFN(edev));
>-	if (status & 0x1) {
>+	if (status & 0x1)
> 		qede_interrupt_action(ECORE_LEADING_HWFN(edev));
>-
>-		if (rte_intr_enable(eth_dev->intr_handle))
>-			DP_ERR(edev, "rte_intr_enable failed\n");
>-	}
> }
>
> static void
>@@ -261,8 +257,6 @@ static void qede_interrupt_action(struct ecore_hwfn
>*p_hwfn)
> 	struct ecore_dev *edev = &qdev->edev;
>
> 	qede_interrupt_action(ECORE_LEADING_HWFN(edev));
>-	if (rte_intr_enable(eth_dev->intr_handle))
>-		DP_ERR(edev, "rte_intr_enable failed\n");
> }
>
> static void
>--
>1.8.3.1



More information about the dev mailing list