From patchwork Sat Feb 5 00:26:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kathleen Capella X-Patchwork-Id: 106880 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 69656A0353; Sat, 5 Feb 2022 01:26:47 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2E17B40143; Sat, 5 Feb 2022 01:26:47 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mails.dpdk.org (Postfix) with ESMTP id 0CB8C4013F for ; Sat, 5 Feb 2022 01:26:46 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7AC6F11D4; Fri, 4 Feb 2022 16:26:45 -0800 (PST) Received: from n1sdp-1.usa.Arm.com (n1sdp-1.usa.arm.com [10.118.91.53]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 73AF73F73B; Fri, 4 Feb 2022 16:26:45 -0800 (PST) From: Kathleen Capella To: Cc: dev@dpdk.org, nd@arm.com, dharmik.thakkar@arm.com, honnappa.nagarahalli@arm.com, Kathleen Capella Subject: [PATCH 0/2] Add logic to IAVF to count continuous DD bits for Arm Date: Sat, 5 Feb 2022 00:26:28 +0000 Message-Id: <20220205002630.31841-1-kathleen.capella@arm.com> X-Mailer: git-send-email 2.17.1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patchset introduces a fix for Arm platforms to the IAVF driver that was added to the i40e driver in a previous patchset [1]. The driver determines which descriptors in the HW ring reference packets that are ready to be received by counting those descriptors whose DD bit is set to 1. On Arm, the reading of descriptors can be reordered. The CPU may be reading descriptors as the NIC is updating them. Tt is possbile that the DD bit for a descriptor earlier in the queue is read as not set while the DD bit for a descriptor later in the queue is read as set. This patchset ensures only contiguous DD bits set to 1 are counted. The first patch in this series adds this logic to the bulk Rx path. The second patch adds this same logic to the function which reads flexible Rx descriptors. No performance drop was observed when running l3fwd on N1SDP with a single core. [1] https://patches.dpdk.org/project/dpdk/patch/20210706065404.25137-2-joyce.kong@arm.com/ Kathleen Capella (2): net/iavf: count continuous DD bits for Arm net/iavf: count continuous DD bits for Arm in flex Rx drivers/net/iavf/iavf_rxtx.c | 52 ++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 8 deletions(-) Reviewed-by: Qi Zhang