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 6D088A0C48; Wed, 7 Jul 2021 10:00:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EBD71406B4; Wed, 7 Jul 2021 10:00:16 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2085.outbound.protection.outlook.com [40.107.21.85]) by mails.dpdk.org (Postfix) with ESMTP id F3E064069D; Wed, 7 Jul 2021 10:00:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WTlanvSYh+esuWo3P9snEKzaSApSelrlwuepycOwtFs=; b=OIiYQvRS0EqzZMGzecbjUscXEkd/ocvu/IOYEpqGnQ1bExzeZ125JB3cAOh91KIqqcDxZo3s9hEY47wYPO65fY6brSeDflXQQq9FlbtI/la9BjutpP6leZdZKW3rGPQetcOmeC+wZ0kGt5qHyWG8YdaEqZ8VrkGLY30kWZ2L8QM= Received: from AS8P189CA0019.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:31f::32) by DB7PR08MB3132.eurprd08.prod.outlook.com (2603:10a6:5:1c::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.27; Wed, 7 Jul 2021 08:00:13 +0000 Received: from VE1EUR03FT058.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:31f:cafe::6f) by AS8P189CA0019.outlook.office365.com (2603:10a6:20b:31f::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.20 via Frontend Transport; Wed, 7 Jul 2021 08:00:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT058.mail.protection.outlook.com (10.152.19.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.20 via Frontend Transport; Wed, 7 Jul 2021 08:00:12 +0000 Received: ("Tessian outbound 2e56506fe389:v97"); Wed, 07 Jul 2021 08:00:12 +0000 X-CR-MTA-TID: 64aa7808 Received: from a9f68964d393.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 27127A13-86AE-4D91-88D1-2E62A9530334.1; Wed, 07 Jul 2021 08:00:01 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a9f68964d393.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 07 Jul 2021 08:00:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jGsH4GHpqGhJ6xI6H7zDrwA6l9IlHX2cHJUZ1+1KQYibT0zawpIvrvmeQr/zErlUeRDDSpcwbzT7QQTTFqri4a9z9lJP76ej0tYr+oJAL6wraud9VhhPuHTZP7DEbedoC7NeVGMIy8YonbCzSu3HbkYhgscJKMfvEx8JrW5PukoHrnb2DMfWdoeSlkCv0+3U6hkkFUSIy0T/uEGEsMRifJORLDJg6SirVElsAlI3JAhPuXfZCVOg8AbxrzfEEMD1FA9m+yAeGuCW5xTK8BimDYAaTwUKvhbsj2uoet63T6WaG1EOetFCJgVvsv0EWpNT1pXtVkOdMZOG34mmEUK3Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WTlanvSYh+esuWo3P9snEKzaSApSelrlwuepycOwtFs=; b=WQkMKodWELHV5deUEFL18pyyJzX4Xpx7SdTqdCKCEOTdU0rjPEe/CpKv6xKraR0gVjf4kB+2GhYd4G8hElOOpVxyTJ2h9ZW7uAL8q/4G5XvUyv67O5EYNaWkt7K6Ph00bQr6Upg+eu1ZcXBeCzineiWJsLhVuXGnrVSyQOzwB2jeGlesOQgzCcmGIZ2UCNMGnx5BeOlH3zHaenZsosuOor/8SirBYeXApSuFIXWXGq1+bEeRIWGI4cdeJQ2AyEzz3nmzjkQhli+JqHTXbFmd3IWWK6RvhnsHH82iFkhE+3FuQhNs9tuzVbJxrBdJsOedxW5qLwpnQZX8KgZZMXUdEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WTlanvSYh+esuWo3P9snEKzaSApSelrlwuepycOwtFs=; b=OIiYQvRS0EqzZMGzecbjUscXEkd/ocvu/IOYEpqGnQ1bExzeZ125JB3cAOh91KIqqcDxZo3s9hEY47wYPO65fY6brSeDflXQQq9FlbtI/la9BjutpP6leZdZKW3rGPQetcOmeC+wZ0kGt5qHyWG8YdaEqZ8VrkGLY30kWZ2L8QM= Received: from AM5PR0802MB2465.eurprd08.prod.outlook.com (2603:10a6:203:9f::22) by AM6PR08MB3751.eurprd08.prod.outlook.com (2603:10a6:20b:84::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22; Wed, 7 Jul 2021 08:00:00 +0000 Received: from AM5PR0802MB2465.eurprd08.prod.outlook.com ([fe80::3d12:4220:b215:7c52]) by AM5PR0802MB2465.eurprd08.prod.outlook.com ([fe80::3d12:4220:b215:7c52%8]) with mapi id 15.20.4287.033; Wed, 7 Jul 2021 08:00:00 +0000 From: Ruifeng Wang To: Slava Ovsiienko , Raslan Darawsheh , Matan Azrad , Shahaf Shuler CC: "dev@dpdk.org" , "jerinj@marvell.com" , nd , Honnappa Nagarahalli , "stable@dpdk.org" , nd , nd Thread-Topic: [PATCH 1/2] net/mlx5: remove redundant operations Thread-Index: AQHXVsCfKjMCDul1q0iVGXgyniiX7asvhokAgAAfZUCABLYngIADAXBg Date: Wed, 7 Jul 2021 08:00:00 +0000 Message-ID: References: <20210601083055.97261-1-ruifeng.wang@arm.com> <20210601083055.97261-2-ruifeng.wang@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 9E532103A5150544817AB2182C6FE397.0 x-checkrecipientchecked: true Authentication-Results-Original: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: b1368b29-18ff-4fa7-e131-08d9411d3fe0 x-ms-traffictypediagnostic: AM6PR08MB3751:|DB7PR08MB3132: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: D4x57pi8XnB+jEIqxwuZrZ8zlRtnYDniLEJ1uSAII24AxgNfLuuG5zzQBaC5F093H1NegdfjLj0ngbe7Zd3dLmVH+HhSjQqOitUg/NKYBkC48+08u/Fv/45xCGENA3aFsB9rfGzePKuWVbOO7zPbSfVQMFRNEqdPFVoIDg3mB550LiFGKlytBZLfmq9Ie+wgZ0Xki/TPszEEVhrIwTfSAAfa3tnOBPMNn4K7S/CJnYfJ5GyOv9yEQw4eT28FIXBijs+/yYcVMqFZR2pOSNvdz12ulSo24/xcVyszRhPZIHkpnQ/4s8ToJQLK6xYiwnIrgrXqNVi456z/GZvIzz5OS58BwOHBuPmd8O4TFvlJ5OVozCih6VHVV5GixAHdiQpVWF5aU3dVxYL2p9cL7iBRT9AVELBFzGIejRjM6ivlNGb7Yj6/+8z5+X2toWA0vJmZwo03aoAm5grYF+BevSITMptxO/EFKjSnxWTEV5jRER6Z9yB+GxXlWhFPe5O3LIjWBW0yQXEGQsd1iQXY8KwM3UYjN6E+iw+7h8T1kb/1SENOHd27pbmM78tPX1jE0UjFNIO9R1efWuAo4yTpllb91KZt2FK9SSrve6nBQ0wgJASbme0xhmoLFH1l2w7KMZAyk38GfN2N/gnc5GRC8tlW2A== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM5PR0802MB2465.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39850400004)(346002)(136003)(366004)(478600001)(83380400001)(2906002)(122000001)(86362001)(38100700002)(76116006)(316002)(71200400001)(66446008)(53546011)(64756008)(52536014)(8676002)(55016002)(33656002)(110136005)(66476007)(186003)(8936002)(9686003)(26005)(4326008)(66556008)(66946007)(5660300002)(7696005)(54906003)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?W4K36hoR3/xGCY7A5OcJP6smorbdCMmu6DLhxX5FeB/gjHeV2wVMcEjspQII?= =?us-ascii?Q?yl/YjU49FNNMRO3fETvEWar4Ed/FPlGqsipzOiTrfHgpuyvyKBH5Ku4+vJcC?= =?us-ascii?Q?KvWb1NvkgXvI21Ky7xxXiyr/Qe65/JEF8/jxeGWWtJ53125ZSdJhuWBsyzQA?= =?us-ascii?Q?fYFKzjYFmY93plPCXMlgbuiuSOzKiEhLI848gzmGN6F72A0KZY+f3V9C1cYn?= =?us-ascii?Q?oUqD29Qt/j6o6cG6cldWV3hOSiUmtT2IsJmKk3OoQP6coPvBtq7pmfOiXCOi?= =?us-ascii?Q?5tzXgDuu4fYs+eDT5GtX1yCzMH5kJzv2hmWph5e9P0CxPeVXdaFkeoRnpO6n?= =?us-ascii?Q?w5qerylmhRXzoa09toSe6vLEa0HWNAvFQNTGYKlr330GTckKd0SJYTu8RNls?= =?us-ascii?Q?iZ8KWcLyXGpErjB9Y45VTRaCzTvZBvfBwfNnKExMx+4WRPw9vrX1h1tyTgTu?= =?us-ascii?Q?hdxFB0Psxmooq613cmHvYGu2m0/dFFv6wBfqrFh0Tv26XIEKjfgkLhQkE1dP?= =?us-ascii?Q?R8Gp/xIvN/OisP4Y+MSDoe3RIzbh6jb9UwTij3v2zmMEP+BnCub9AUOmOgai?= =?us-ascii?Q?0xP7+VRsGsXeKQDQT7fUSPbdhcfC2oI3Yb0atHo2l6qbka6KuTStuJA00rkR?= =?us-ascii?Q?/aAfA1pG2EgkPqQDHS8GMl2PIylxbNQYhrx2sZLefWfODYv2BHkih0LYPbMj?= =?us-ascii?Q?FK+3nORj6qvFrK1bFNLTGnt2jRXYLNh+ac26ojPfRLl54JorVDV0+hI3Znv9?= =?us-ascii?Q?54feS7uAyWOwWHyNoK+RRkfkbE4EEGOnTTFWUY7VV1Rtw2P/1G2DArTrUWU0?= =?us-ascii?Q?NF0KZowAxn4VuapzuAz8sZyWZMdED1eOVmfxQ6SczslyrxEryO8Agc1zXBjF?= =?us-ascii?Q?lE0GNhCO17kzX0KRcoAQBtiHVJ0ceHMgndEK3z0GaXRJtIjZ+30nc2j5cHfY?= =?us-ascii?Q?TGsLaJHAZonQpLLT8mB7rHIh3Tq7CAGcQC1Q5/sLhjBYDGwicXmGQsSkOT1Z?= =?us-ascii?Q?+My/RXE4pF8730U0nmoFOcDwMvIzBXNyxKCcLdBEUsOqvctJ4J0syFqJD/39?= =?us-ascii?Q?q1NuiWmR8rMn3sLJuMLTMJZL23mm64/yqhOGIZCJq4jV4sPe2KGFrCe6W4+L?= =?us-ascii?Q?fotaVXz6/B1rB2QHp9AsRsftrRj2aCZgcajnbQb01aIbf9he++NrHNeCJpuo?= =?us-ascii?Q?YVBIJDBfX8OT3ksfWwA3Y9ZvbyTZKbQ24IIUfp5DuiWm7xSMoxuQIAtvSzyS?= =?us-ascii?Q?7/dXtQ9UsAOIbQwDLytN4PDJCmSDa8mjf15mbPYSMaxUstabTVOc3U/D0U5Y?= =?us-ascii?Q?cW2XkI0H0a80XYyZU6+8cmMk?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3751 Original-Authentication-Results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT058.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 4018b488-f84a-4ecb-66cd-08d9411d3873 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OmGuSSEnLPY58G7VTrxXAMqMpcFmTmjho2pi6YNqzw5u1gYCxQ0HCMZM3N3lI0jEhHu508GX95evPc0Eurz5ofSMhgdVJUMoiEHJpEwWMOXoAKEjma9cBsFC3QvFeHWfvHhXhNQWdpdKQMIhdK+40uHKWKbb0y8K4TPCiGi6J4mTGq+e1jwuckCBYA5oL+qvBPDB6EDu5IhUIYZAqbisUzV13vx8BrcFZU34zyyeLy0qJ8q6ylvfAPmv3f+vIfZsj42o7HJSspdXyvFgm0oSTgxoFtxURPpNF5ktB2Ql7FVGE4YwCJOEQR47s7nNh2xGHN/4esafEUHiOCsACzD5B5HWkFkg+KnaW+t4GFqRPkLFpBW87FkBUCqziivQ18Mt8Tf+nc52P0FkvLQvtEgJFHM/xDFFAB5wKHJlyfvb6I5xwGmYgQ14CCR9YSWwjbjz2fT1jZ///CVLSWKfwcPbWEohGWst5Nh0sM8nlhYwQ7G/PBYqr7EMTxufQJguf3p4UeoTZcQHMsMZRQPL41bWPdNFOVr4mU1lL/zv64jC99fhx3qm2rgsOxvVQuT2TvFEojN0Z+6y0kU7RQs+nayuCz4zQl4rFzpHi+EuqxTW/+wr4m+kegxxgMgwqxbOpioP1epRMF/fm7ssUzcitH+bmgk0q6tkLv9AmUr6jztY0EOf0FsfbPrl6Bb4i3UU4sR7VqNkyJgv9EwTLeuOBO+GjA== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(39860400002)(136003)(46966006)(36840700001)(52536014)(110136005)(478600001)(356005)(26005)(450100002)(4326008)(6506007)(55016002)(336012)(316002)(186003)(53546011)(33656002)(81166007)(8936002)(54906003)(36860700001)(2906002)(9686003)(86362001)(70586007)(82740400003)(5660300002)(8676002)(70206006)(83380400001)(7696005)(82310400003)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2021 08:00:12.9203 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b1368b29-18ff-4fa7-e131-08d9411d3fe0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT058.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3132 Subject: Re: [dpdk-dev] [PATCH 1/2] net/mlx5: remove redundant operations 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 Sender: "dev" > -----Original Message----- > From: Slava Ovsiienko > Sent: Monday, July 5, 2021 6:02 PM > To: Ruifeng Wang ; Raslan Darawsheh > ; Matan Azrad ; Shahaf Shuler > > Cc: dev@dpdk.org; jerinj@marvell.com; nd ; Honnappa > Nagarahalli ; stable@dpdk.org; nd > > Subject: RE: [PATCH 1/2] net/mlx5: remove redundant operations >=20 > Hi, Ruifeng >=20 > The invalid_mask is used to set error flags and calculate the statistics. > So, all the CQEs the first one with error or invalid status should be mas= ked > out (and the CQEs after that). Now I understand it. What I was missing is inconsecutive mask bits. Thanks for your patience. I'll update in next version. >=20 > IMO, what we could improve (apply just the part of the patch below): > >>>> > index 2234fbe6b2..98a75b09c6 100644 > --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h > +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h > @@ -768,18 +768,11 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, > volatile struct mlx5_cqe *cq, > comp_mask), 0)) / > (sizeof(uint16_t) * 8); > /* D.6 mask out entries after the compressed CQE. */ > - mask =3D vcreate_u16(comp_idx < > MLX5_VPMD_DESCS_PER_LOOP ? > - -1UL >> (comp_idx * sizeof(uint16_t) * 8) : > - 0); > - invalid_mask =3D vorr_u16(invalid_mask, mask); > + invalid_mask =3D vorr_u16(invalid_mask, comp_mask); > /* D.7 count non-compressed valid CQEs. */ > n =3D __builtin_clzl(vget_lane_u64(vreinterpret_u64_u16( > invalid_mask), 0)) / (sizeof(uint16_t) * 8); > nocmp_n +=3D n; > <<<< >=20 > And that's it. The rest of the patch: > >>>> > - /* D.2 get the final invalid mask. */ > - mask =3D vcreate_u16(n < MLX5_VPMD_DESCS_PER_LOOP ? > - -1UL >> (n * sizeof(uint16_t) * 8) : 0); > - invalid_mask =3D vorr_u16(invalid_mask, mask); > <<<< > Should not be applied, otherwise the following might be affected: >=20 > opcode =3D vbic_u16(opcode, invalid_mask); ... > opcode =3D vbic_u16(opcode, invalid_mask); >=20 > With best regards, > Slava >=20 > > -----Original Message----- > > From: Ruifeng Wang > > Sent: Friday, July 2, 2021 13:30 > > To: Slava Ovsiienko ; Raslan Darawsheh > > ; Matan Azrad ; Shahaf Shuler > > > > Cc: dev@dpdk.org; jerinj@marvell.com; nd ; Honnappa > > Nagarahalli ; stable@dpdk.org; nd > > > > Subject: RE: [PATCH 1/2] net/mlx5: remove redundant operations > > > > > -----Original Message----- > > > From: Slava Ovsiienko > > > Sent: Friday, July 2, 2021 4:13 PM > > > To: Ruifeng Wang ; Raslan Darawsheh > > > ; Matan Azrad ; Shahaf > Shuler > > > > > > Cc: dev@dpdk.org; jerinj@marvell.com; nd ; Honnappa > > > Nagarahalli ; stable@dpdk.org > > > Subject: RE: [PATCH 1/2] net/mlx5: remove redundant operations > > > > > > Hi, Ruifeng > > Hi, Slava > > > > > > > > > -----Original Message----- > > > > From: Ruifeng Wang > > > > Sent: Tuesday, June 1, 2021 11:31 > > > > To: Raslan Darawsheh ; Matan Azrad > > > > ; Shahaf Shuler ; Slava > > > > Ovsiienko > > > > Cc: dev@dpdk.org; jerinj@marvell.com; nd@arm.com; > > > > honnappa.nagarahalli@arm.com; Ruifeng Wang > > ; > > > > stable@dpdk.org > > > > Subject: [PATCH 1/2] net/mlx5: remove redundant operations > > > > > > > > Some operations on mask are redundant and can be removed. > > > > The change yielded 1.6% performance gain on N1SDP. > > > > On ThunderX2, slight performance uplift was also observed. > > > > > > > > Fixes: 570acdb1da8a ("net/mlx5: add vectorized Rx/Tx burst for > > > > ARM") > > > > Cc: stable@dpdk.org > > > > > > > > Signed-off-by: Ruifeng Wang > > > > --- > > > > drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 9 +-------- > > > > 1 file changed, 1 insertion(+), 8 deletions(-) > > > > > > > > diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h > > > > b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h > > > > index 2234fbe6b2..98a75b09c6 100644 > > > > --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h > > > > +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h > > > > @@ -768,18 +768,11 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, > > > > volatile struct mlx5_cqe *cq, > > > > comp_mask), 0)) / > > > > (sizeof(uint16_t) * 8); > > > > /* D.6 mask out entries after the compressed CQE. */ > > > > - mask =3D vcreate_u16(comp_idx < > > > > MLX5_VPMD_DESCS_PER_LOOP ? > > > > - -1UL >> (comp_idx * sizeof(uint16_t) * 8) : > > > > - 0); > > > > - invalid_mask =3D vorr_u16(invalid_mask, mask); > > > > + invalid_mask =3D vorr_u16(invalid_mask, comp_mask); > > > > > > Mmmm... I'm not sure we can drop the masking compressed (and > > > following) CQE skip. > > > Let's consider the completion scenario (the series of 4 CQEs, each > > > element is 64B long) > > > > > > 0: normal uncompressed CQE, ownership OK, format uncompressed, > > > opcode OK, no error > > > 1: compressed CQE, ownership OK, format compressed, opcode OK, no > > > error > > > 2: miniCQE array, format can be any!!, may be discovered as > > > ownership OK, format uncompressed, opcode OK, no error > > > 3: miniCQE array, format can be any!!, may be discovered as > > > ownership OK, format uncompressed, opcode OK, no error > > > > Thanks for your review and explanation about CQE processing details. > > I did the change based on the fact that some calculations doesn't > > change the data. > > So some intermediate calculations were removed. > > > > In the above diff section, result of 'mask' always equals to the > > nearest 'comp_mask' that above it. > > So I just remoed 'mask' and use 'comp_mask' instead. > > > > > > Obviously, we should unconditionally mask out 2 and 3, regardless of > > > recognized their formats/opcode/error/etc. > > > I think we can get the diff above and skip diff below: > > > > > > > /* D.7 count non-compressed valid CQEs. */ > > > > n =3D __builtin_clzl(vget_lane_u64(vreinterpret_u64_u16( > > > > invalid_mask), 0)) / (sizeof(uint16_t) * 8); > > > > nocmp_n +=3D n; > > > > - /* D.2 get the final invalid mask. */ > > > > - mask =3D vcreate_u16(n < MLX5_VPMD_DESCS_PER_LOOP ? > > > > - -1UL >> (n * sizeof(uint16_t) * 8) : 0); > > > > - invalid_mask =3D vorr_u16(invalid_mask, mask); > > > > > > and get the correct final invalid_mask - all compressed and invalid > > > CQEs and following ones will be masked out. > > > > This diff section is similar to the previous one. > > 'mask' always equals to the nearest 'invalid_mask' that above it. > > So entire line "invalid_mask =3D vorr_u16(invalid_mask, mask);" can be > removed. > > > > Code logic is not changed. But I'm not sure the code change impacts > > readability or maintainability that you may concern. > > > > Thanks. > > > > > > With best regards, > > > Slava