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 CD3ABA0C47 for ; Tue, 10 Aug 2021 17:43:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C70C7411CA; Tue, 10 Aug 2021 17:43:45 +0200 (CEST) Received: from smtp-relay-canonical-1.canonical.com (smtp-relay-canonical-1.canonical.com [185.125.188.121]) by mails.dpdk.org (Postfix) with ESMTP id 9A27D411C7 for ; Tue, 10 Aug 2021 17:43:44 +0200 (CEST) Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) (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-1.canonical.com (Postfix) with ESMTPS id 7CDCB3F338 for ; Tue, 10 Aug 2021 15:43:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1628610224; bh=vnwcVc4QQwubFRDayGc100rbiv6+ZfUX300El5SjgFo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hFYq9KwGAu/ifyu7w4D7utvooUZNS2BEWV3/s11Dp2GjZKoh72GxCb6pjIU0Le9GN F5IRAAJ/+/nqxrYeeMyxxI7/EYoCVw0UaS6bIVkWKM41n724yk0sYmFHZmArpk1m1D ERHbAkHDvf95lNHyHEovNvN1jcMhLT/fhZUwlFHMNn2R/UpaTI4ezI/rLQQNS8QtzH 0Ms9Y2NVZTnN6kHsXijtmZRaEMKn7HKqsuwTtqrQQcnsSTCZMEpc/8JOA9kJD5MDDM +/bJSwZgRoxSLJ/75Dh5PdrIiYvIklcRPT9vDqIELWbCzPJDte07dh5rdOxgMxuAvH TJOBoYsVWnsvA== Received: by mail-ed1-f70.google.com with SMTP id b25-20020a05640202d9b02903be7281a80cso2393099edx.3 for ; Tue, 10 Aug 2021 08:43:44 -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=vnwcVc4QQwubFRDayGc100rbiv6+ZfUX300El5SjgFo=; b=LUztJPsaNem5qCoeow4eu0n6l1CuZ/L2rr/r2KBWFVy89g0RKKR6NzfbfPhsIjzHkd XLnAq7Zn7oWVWW/Nyp4DDaeCSNDBmSjNGrth+71MZAjrcT+MfrfbeIMYQ85rELUCK2qN qs6T86VIVn3Fwm6DeozijDjuN7J7LeSaf49RjYLclSqfFRo6/6TuBtrSKH7BIpsW2/w0 tN2zbZmXHBX8Q7JGkoGkfH9jiNMvXdRBswV+vwqXLUlT7q3X054olNxZadbJJ9SiQLFz dZQt/xEBCl7xZ0POr41nxE3oX0h4pe6pxdVG9y0fvG1xWIRueMoOO+/T0sttADD/1+I3 ML7g== X-Gm-Message-State: AOAM5339Q5DTnk2lgafIUfGDUgKilmFirmYYrvJ8JU+KTaoAxVOwHRW1 5dpGFWMKzh6TMNnz+UwwCwwHe+/3KMA8f13qa0L9rF+SPmhUEnaQZ+++d9/h8mWcloOb4ftzkL1 Kly22vtRb+R7JMxtrReKqAGzw X-Received: by 2002:aa7:c6c3:: with SMTP id b3mr5546479eds.217.1628610224257; Tue, 10 Aug 2021 08:43:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyRTU93uyuPJ4G9a6GuCxyB/yJQv8k4mHpwSkdGhW/bWr4bjNQRv1I2NysY80HDLElMr0KdTA== X-Received: by 2002:aa7:c6c3:: with SMTP id b3mr5546466eds.217.1628610224105; Tue, 10 Aug 2021 08:43:44 -0700 (PDT) Received: from Keschdeichel.fritz.box ([2001:67c:1560:8007::aac:c4ad]) by smtp.gmail.com with ESMTPSA id dh8sm9664476edb.14.2021.08.10.08.43.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Aug 2021 08:43:43 -0700 (PDT) From: christian.ehrhardt@canonical.com To: Ruifeng Wang Cc: Viacheslav Ovsiienko , dpdk stable Date: Tue, 10 Aug 2021 17:39:45 +0200 Message-Id: <20210810154022.749358-65-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/mlx5: remove redundant operations in NEON Rx' 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/7118e13be63b977f6042a7d13517f61a7a147910 Thanks. Christian Ehrhardt --- >From 7118e13be63b977f6042a7d13517f61a7a147910 Mon Sep 17 00:00:00 2001 From: Ruifeng Wang Date: Wed, 7 Jul 2021 17:03:06 +0800 Subject: [PATCH] net/mlx5: remove redundant operations in NEON Rx [ upstream commit ff6fcd415f4b2be7572abffa5284978c176d3de4 ] Mask of entries after the compressed CQE is covered by invalid mask of non-compressed valid CQEs. Hence remove redundant calculation on mask. The change showed slight performance uplift on N1SDP. Fixes: 570acdb1da8a ("net/mlx5: add vectorized Rx/Tx burst for ARM") Signed-off-by: Ruifeng Wang Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h index 01b834bb7c..d72675281f 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h @@ -671,16 +671,15 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n, comp_idx = __builtin_clzl(vget_lane_u64(vreinterpret_u64_u16( comp_mask), 0)) / (sizeof(uint16_t) * 8); - /* D.6 mask out entries after the compressed CQE. */ - mask = vcreate_u16(comp_idx < MLX5_VPMD_DESCS_PER_LOOP ? - -1UL >> (comp_idx * sizeof(uint16_t) * 8) : - 0); - invalid_mask = vorr_u16(invalid_mask, mask); + invalid_mask = vorr_u16(invalid_mask, comp_mask); /* D.7 count non-compressed valid CQEs. */ n = __builtin_clzl(vget_lane_u64(vreinterpret_u64_u16( invalid_mask), 0)) / (sizeof(uint16_t) * 8); nocmp_n += n; - /* D.2 get the final invalid mask. */ + /* + * D.2 mask out entries after the compressed CQE. + * get the final invalid mask. + */ mask = vcreate_u16(n < MLX5_VPMD_DESCS_PER_LOOP ? -1UL >> (n * sizeof(uint16_t) * 8) : 0); invalid_mask = vorr_u16(invalid_mask, mask); -- 2.32.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-08-10 15:11:15.546177327 +0200 +++ 0065-net-mlx5-remove-redundant-operations-in-NEON-Rx.patch 2021-08-10 15:11:13.062638416 +0200 @@ -1 +1 @@ -From ff6fcd415f4b2be7572abffa5284978c176d3de4 Mon Sep 17 00:00:00 2001 +From 7118e13be63b977f6042a7d13517f61a7a147910 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ff6fcd415f4b2be7572abffa5284978c176d3de4 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 5c569ee199..4d1710b837 100644 +index 01b834bb7c..d72675281f 100644 @@ -23 +24 @@ -@@ -767,16 +767,15 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq, +@@ -671,16 +671,15 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,