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 E9F8DA0C4C for ; Mon, 12 Jul 2021 15:15:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E3D9440685; Mon, 12 Jul 2021 15:15:34 +0200 (CEST) Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mails.dpdk.org (Postfix) with ESMTP id BBF5240685 for ; Mon, 12 Jul 2021 15:15:33 +0200 (CEST) Received: by mail-wm1-f47.google.com with SMTP id l18-20020a1ced120000b029014c1adff1edso14427020wmh.4 for ; Mon, 12 Jul 2021 06:15:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KVJ7r9wB2u/JqZoAqI+F9pa/W1TNWy61ewck9AwtMhw=; b=Qdbqn5b7Bl61y/gtmy5NQ9e75GrUWQoD6TdUbqd/uc44p5DXHNDnpgB1AfxiaATGUR ohMxywsSzeNchLPj3npJAHN8ty0RBcpbhGSc8celQ7tKvxMDXDETAZyvvlunPONIZXAx 9fNvdOnaqnq4Z/Xy75Z23ho8R1V14kWQmXiy2qQqAtX5tMYhqslmWB3fmc/rkDlTNiPS ckeWcx8uzRayg5iPcfFYRiltp0HF7zHRZrQDx0sYLBnoaL3oMkijKrRNv62oIhlrpLF6 BlnxIIfAvVTXNaRk+eE2ZBF7t3nKIIU/zPcdCt5U6GRB/Bloi+LoazxMzOsfBRbjLC9Y Fkag== 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=KVJ7r9wB2u/JqZoAqI+F9pa/W1TNWy61ewck9AwtMhw=; b=PvjmHnZJi6DNG4c0mHqXRXvt37ucbEd2KVf5ttw64onAitFJDIJ7DXO2cjINc0oVvJ RYaFYyveuk+qfIsxvgrD2xl+MUpWQG0gFAn7BVre/daZJSUEfpWGCkU+atpWHlbVxKU2 dGMWKgUDVRb4M5++wfyKDs8kudic0BuAriqRIxQHrEjAQaf7at6ikZu0/YCApvGm95cD 7GeUFLWeXQfz1sLKSLt2W0yhX2NIEiEZuitZZczjArlJ8iv60ZKSyv9RZ388zeLM+VCq MBYwLXyUyCd1BAI5BIKO2pwEtRDdknnMJa5PiDutXkprvmL9zRbnktxseYEkRuBog6KY lkww== X-Gm-Message-State: AOAM533ISLjf3ypjHlGSz5d13gd+dyrrvVcd+WwxZxU8Q7wLL5pXLMvN z2c1Swpp4g8LxWmUEzhObr8= X-Google-Smtp-Source: ABdhPJyN3Ak/u8D/BVfjiPMeGO1QRP7G+aYmZV3wMtEnMiBl9E+nWEeRzibmdX745JDrjpMuLHeUpw== X-Received: by 2002:a05:600c:154a:: with SMTP id f10mr14269297wmg.26.1626095733556; Mon, 12 Jul 2021 06:15:33 -0700 (PDT) Received: from localhost ([137.220.125.106]) by smtp.gmail.com with ESMTPSA id m12sm12308680wms.24.2021.07.12.06.15.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jul 2021 06:15:33 -0700 (PDT) From: luca.boccassi@gmail.com To: Joyce Kong Cc: Ruifeng Wang , dpdk stable Date: Mon, 12 Jul 2021 14:05:40 +0100 Message-Id: <20210712130551.2462159-105-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210712130551.2462159-1-luca.boccassi@gmail.com> References: <20210712130551.2462159-1-luca.boccassi@gmail.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 20.11.3 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 20.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 07/14/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/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/fa5c96a41baa9133494f16ec0ab183fe04d7faf8 Thanks. Luca Boccassi --- >From fa5c96a41baa9133494f16ec0ab183fe04d7faf8 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 39a69b74d1..0e5293fc94 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -418,7 +418,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; @@ -451,8 +451,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.30.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-07-12 13:41:42.062884351 +0100 +++ 0105-net-i40e-fix-descriptor-scan-on-Arm.patch 2021-07-12 13:41:36.906131277 +0100 @@ -1 +1 @@ -From 65b2ec7b4f6bca9c7436681141d2974c7960d208 Mon Sep 17 00:00:00 2001 +From fa5c96a41baa9133494f16ec0ab183fe04d7faf8 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 39a69b74d1..0e5293fc94 100644 @@ -23 +24 @@ -@@ -452,7 +452,7 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) +@@ -418,7 +418,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) +@@ -451,8 +451,18 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq)