Disable fastpath interrupts and remove unneeded delay in bnx2x_interrupt_action(). This patch fixes and prevents performance degradation for BNX2X PMD.
Fixes: 540a2110 ("bnx2x: driver core") Signed-off-by: Rasesh Mody <rasesh.mody at qlogic.com> --- drivers/net/bnx2x/bnx2x.c | 2 +- drivers/net/bnx2x/bnx2x_ethdev.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c index 95fbad8..a059858 100644 --- a/drivers/net/bnx2x/bnx2x.c +++ b/drivers/net/bnx2x/bnx2x.c @@ -4507,7 +4507,7 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp) } bnx2x_ack_sb(sc, fp->igu_sb_id, USTORM_ID, - le16toh(fp->fp_hc_idx), IGU_INT_ENABLE, 1); + le16toh(fp->fp_hc_idx), IGU_INT_DISABLE, 1); } /* diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c index c8d2bf2..f97dd5b 100644 --- a/drivers/net/bnx2x/bnx2x_ethdev.c +++ b/drivers/net/bnx2x/bnx2x_ethdev.c @@ -107,8 +107,8 @@ bnx2x_interrupt_action(struct rte_eth_dev *dev) PMD_DEBUG_PERIODIC_LOG(INFO, "Interrupt handled"); - if (bnx2x_intr_legacy(sc, 0)) - DELAY_MS(250); + bnx2x_intr_legacy(sc, 0) + if (sc->periodic_flags & PERIODIC_GO) bnx2x_periodic_callout(sc); link_status = REG_RD(sc, sc->link_params.shmem_base + -- 1.7.10.3