From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 5D0D0A046B for ; Mon, 24 Jun 2019 17:26:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5457E1BE34; Mon, 24 Jun 2019 17:26:30 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id EB4E81BEE7 for ; Mon, 24 Jun 2019 17:26:27 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6B8E9C18B2ED; Mon, 24 Jun 2019 15:26:27 +0000 (UTC) Received: from rh.redhat.com (ovpn-116-250.ams2.redhat.com [10.36.116.250]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5AB0619722; Mon, 24 Jun 2019 15:26:26 +0000 (UTC) From: Kevin Traynor To: Shahed Shaikh Cc: Rasesh Mody , dpdk stable Date: Mon, 24 Jun 2019 16:24:44 +0100 Message-Id: <20190624152525.19349-20-ktraynor@redhat.com> In-Reply-To: <20190624152525.19349-1-ktraynor@redhat.com> References: <20190624152525.19349-1-ktraynor@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 24 Jun 2019 15:26:27 +0000 (UTC) Subject: [dpdk-stable] patch 'net/bnx2x: fix packet drop' has been queued to LTS release 18.11.3 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 18.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 06/27/19. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/47f54bcc2eef1be1bbbda926d68847b4697c659a Thanks. Kevin Traynor --- >From 47f54bcc2eef1be1bbbda926d68847b4697c659a Mon Sep 17 00:00:00 2001 From: Shahed Shaikh Date: Tue, 4 Jun 2019 11:53:48 -0700 Subject: [PATCH] net/bnx2x: fix packet drop [ upstream commit 08a6e472c3d7833ebe6cee0e1b3c601141a269ed ] Patch "8bd31421c593 ("net/bnx2x: fix ramrod timeout")" introduced a regression where sc->scan_fp flags is set for unexpectedly long time. So the slow path completion handler flow is run unnecessarily which walks over receive descriptor ring of fast path and drops the data packets while looking for slow path completion descriptor out of fast path ring. This issue is seen under heavy traffic with link events happening in background. Fixes: 8bd31421c593 ("net/bnx2x: fix ramrod timeout") Signed-off-by: Shahed Shaikh Acked-by: Rasesh Mody --- drivers/net/bnx2x/bnx2x.c | 2 ++ drivers/net/bnx2x/ecore_sp.c | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c index 3e705c7a1..0698b1a8a 100644 --- a/drivers/net/bnx2x/bnx2x.c +++ b/drivers/net/bnx2x/bnx2x.c @@ -4573,4 +4573,6 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp) } + /* Assuming we have completed slow path completion, clear the flag */ + rte_atomic32_set(&sc->scan_fp, 0); bnx2x_ack_sb(sc, fp->igu_sb_id, USTORM_ID, le16toh(fp->fp_hc_idx), IGU_INT_ENABLE, 1); diff --git a/drivers/net/bnx2x/ecore_sp.c b/drivers/net/bnx2x/ecore_sp.c index 43194095b..5ac22e725 100644 --- a/drivers/net/bnx2x/ecore_sp.c +++ b/drivers/net/bnx2x/ecore_sp.c @@ -292,8 +292,4 @@ static int ecore_state_wait(struct bnx2x_softc *sc, int state, ECORE_MSG(sc, "waiting for state to become %d", state); - /* being over protective to remind bnx2x_intr_legacy() to - * process RAMROD - */ - rte_atomic32_set(&sc->scan_fp, 1); ECORE_MIGHT_SLEEP(); -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-06-24 16:18:56.118911885 +0100 +++ 0020-net-bnx2x-fix-packet-drop.patch 2019-06-24 16:18:55.010431719 +0100 @@ -1 +1 @@ -From 08a6e472c3d7833ebe6cee0e1b3c601141a269ed Mon Sep 17 00:00:00 2001 +From 47f54bcc2eef1be1bbbda926d68847b4697c659a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 08a6e472c3d7833ebe6cee0e1b3c601141a269ed ] + @@ -17 +18,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ -index e771e40cb..5f353a7ef 100644 +index 3e705c7a1..0698b1a8a 100644