From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 89811A0C47 for ; Tue, 10 Aug 2021 17:43:29 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 82E164014F; Tue, 10 Aug 2021 17:43:29 +0200 (CEST) Received: from smtp-relay-canonical-0.canonical.com (smtp-relay-canonical-0.canonical.com [185.125.188.120]) by mails.dpdk.org (Postfix) with ESMTP id D1331411C5 for ; Tue, 10 Aug 2021 17:43:26 +0200 (CEST) Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPS id B56B93F047 for ; Tue, 10 Aug 2021 15:43:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1628610206; bh=74xtcg9Dd/uBhcr3Iz6Ko9hsr3BMfpzWMyTlQi3g6+U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=US5QrG+vgcKhLRzvmogcVLC6UA27wgskLZWEZiKgFGRODVsC17KgcshBt77KuLlVa ytYYHLvN2sfjMPMWzio73Z17CUNsaAse7vveU8VAnEqWcPwxpjsNZQhmRpsjoan41w jNQDZS8TPmn3h74L5binv74CtjoebXWG0mFfzG1Sn9YbBL7D9TsDzcYg49td2JLzvB P8eJsBNPP3AAKP/s+Va6zJabXOwI4lSl88BYvLYw6vlj2ngM9wvWAAE4WweH/5t2X7 GzU7ijMnXUjFv+Ig8mCraxAXGCnimggzwvMsXQqantEKkM8GTuSWbL04xXwERcPsXm MlwABS1x999sg== Received: by mail-ed1-f71.google.com with SMTP id g3-20020a0564024243b02903be33db5ae6so6842015edb.18 for ; Tue, 10 Aug 2021 08:43:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=74xtcg9Dd/uBhcr3Iz6Ko9hsr3BMfpzWMyTlQi3g6+U=; b=OVLvcZg+HBKTmpvIAChmHsPv4xqmNCgln+UoSgLGve/08vyprW7H/DFnSm5HG9rnJ6 q0pcHg9qQB9rCL1WCNGIexRykV4hcUm/FRPnmkD2btiCArCQJ/4x1OObCMANkruomy4M W4SYBaa/o3eokHSMwytajqE6VzlaOAb3u/qAXO2aK7WchnQp6rQ6nMmsYcnsTrUuQXO8 0xBl/qul8LCmjq6l02aEahOYlKvIlH0CMbdwUJN4HEucglZeVIdA96O9WYCEt2pwFoRd QSZFAf2zC1t+BYsTkItt4FOxcJxD3D2Jy2bAtqdbfv3Mblo0lCjiJyJ3DihfcYm07eEI TmEA== X-Gm-Message-State: AOAM5324VY7C82AUUvtCICRr8YlAR3MP8My18xOXtzUUcBmFqYSV/5nH VmmwfefMi/A1rfLW8f38L8SeqdvyBCKz5FHZfFKUciCyyAI26DA7TBd0PLKvcpOetSkvdYUetnC zUhIVypJDwJ6jgJdOo25W+CmS X-Received: by 2002:a17:907:7da5:: with SMTP id oz37mr27625527ejc.396.1628610206135; Tue, 10 Aug 2021 08:43:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSIzetttgiVGzi35cJyGYcu+qgzTSaTGxpGdmaHINpghEuTU3UMMCZvZmy8cS7pR60liCcsg== X-Received: by 2002:a17:907:7da5:: with SMTP id oz37mr27625510ejc.396.1628610205928; Tue, 10 Aug 2021 08:43:25 -0700 (PDT) Received: from Keschdeichel.fritz.box ([2001:67c:1560:8007::aac:c4ad]) by smtp.gmail.com with ESMTPSA id v13sm6996976ejh.62.2021.08.10.08.43.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Aug 2021 08:43:25 -0700 (PDT) From: christian.ehrhardt@canonical.com To: Joyce Kong Cc: Ruifeng Wang , dpdk stable Date: Tue, 10 Aug 2021 17:39:37 +0200 Message-Id: <20210810154022.749358-57-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210810154022.749358-1-christian.ehrhardt@canonical.com> References: <20210810154022.749358-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/i40e: fix descriptor scan on Arm' has been queued to stable release 19.11.10 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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 stable release 19.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/12/21. 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/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/b8cbdcef10df924b95dd4280cbd26a6f18eff20b Thanks. Christian Ehrhardt --- >From b8cbdcef10df924b95dd4280cbd26a6f18eff20b Mon Sep 17 00:00:00 2001 From: Joyce Kong Date: Tue, 6 Jul 2021 01:54:03 -0500 Subject: [PATCH] net/i40e: fix descriptor scan on Arm [ upstream commit 65b2ec7b4f6bca9c7436681141d2974c7960d208 ] For Arm platforms, reading descs can get re-ordered, then the status of DD bits will be discontinuous, so add the logic to only process continuous descs by checking DD bits. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Joyce Kong Reviewed-by: Ruifeng Wang --- drivers/net/i40e/i40e_rxtx.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 4dc828357f..582dc5a3e4 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -417,7 +417,7 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) uint16_t pkt_len; uint64_t qword1; uint32_t rx_status; - int32_t s[I40E_LOOK_AHEAD], nb_dd; + int32_t s[I40E_LOOK_AHEAD], var, nb_dd; int32_t i, j, nb_rx = 0; uint64_t pkt_flags; uint32_t *ptype_tbl = rxq->vsi->adapter->ptype_tbl; @@ -450,8 +450,18 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) rte_smp_rmb(); /* Compute how many status bits were set */ - for (j = 0, nb_dd = 0; j < I40E_LOOK_AHEAD; j++) - nb_dd += s[j] & (1 << I40E_RX_DESC_STATUS_DD_SHIFT); + for (j = 0, nb_dd = 0; j < I40E_LOOK_AHEAD; j++) { + var = s[j] & (1 << I40E_RX_DESC_STATUS_DD_SHIFT); +#ifdef RTE_ARCH_ARM + /* For Arm platforms, only compute continuous status bits */ + if (var) + nb_dd += 1; + else + break; +#else + nb_dd += var; +#endif + } nb_rx += nb_dd; -- 2.32.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-08-10 15:11:15.253497281 +0200 +++ 0057-net-i40e-fix-descriptor-scan-on-Arm.patch 2021-08-10 15:11:13.054638359 +0200 @@ -1 +1 @@ -From 65b2ec7b4f6bca9c7436681141d2974c7960d208 Mon Sep 17 00:00:00 2001 +From b8cbdcef10df924b95dd4280cbd26a6f18eff20b Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 65b2ec7b4f6bca9c7436681141d2974c7960d208 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 8d65f287f4..e518409fe5 100644 +index 4dc828357f..582dc5a3e4 100644 @@ -23 +24 @@ -@@ -452,7 +452,7 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) +@@ -417,7 +417,7 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) @@ -32 +33 @@ -@@ -485,8 +485,18 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) +@@ -450,8 +450,18 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq)