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 27D6CA034F; Sun, 6 Jun 2021 20:33:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90E1640147; Sun, 6 Jun 2021 20:33:41 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60059.outbound.protection.outlook.com [40.107.6.59]) by mails.dpdk.org (Postfix) with ESMTP id 0CB3840040 for ; Sun, 6 Jun 2021 20:33:39 +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=4uVEULsVC512sdaAmhLCXBpJkkGrRWUZta4LQi2+8oQ=; b=YKTUBEmj2ogzQC0TUtTg9eI+O61SskCXycJRU2FUSjJzWz+WJ48ACIcSpsS3uT5+qBPRCn4G9g9+qTjvDM5fzppLwV+NvSRzn4jobjplW4whknQTb2xMAX3w4EkDMga6iFKKFlwXQi30PKF9et4IuGH6G6vvnR2aXiFvSnxxbrg= Received: from PR0P264CA0071.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::35) by AM6PR08MB4102.eurprd08.prod.outlook.com (2603:10a6:20b:ab::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.20; Sun, 6 Jun 2021 18:33:29 +0000 Received: from VE1EUR03FT013.eop-EUR03.prod.protection.outlook.com (2603:10a6:100:1d:cafe::10) by PR0P264CA0071.outlook.office365.com (2603:10a6:100:1d::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.15 via Frontend Transport; Sun, 6 Jun 2021 18:33:29 +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 VE1EUR03FT013.mail.protection.outlook.com (10.152.19.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.21 via Frontend Transport; Sun, 6 Jun 2021 18:33:29 +0000 Received: ("Tessian outbound cce4cc55b7ee:v93"); Sun, 06 Jun 2021 18:33:29 +0000 X-CR-MTA-TID: 64aa7808 Received: from 3d16995e1070.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9F0D7362-41DF-4C09-A298-D8BC474AFC2D.1; Sun, 06 Jun 2021 18:33:18 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3d16995e1070.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Sun, 06 Jun 2021 18:33:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CGwGUIT155d+nm6q+oykk0JU0D/iK32zySV4Z72ugbKn83FWBtp90j9D8YOlSYkddgmju65sjLF9Tp0K35b0UXzJr+gcvgh3kgSQsz95ucT0JJNJsLMEBVjGvQdSH2q3IpiSn/ipp6PawkDzxuDC9Lt0oFEmo17zZ/A/VPGheDwBgfbYuiGJjl8sLtXjSemXWWkPJlt9QByY4WlJ4pzhJuBuvB1iBz0A8Px5x79epzXz8k9wU9lbDQnIHp6C8deAtbAqO0BBteC3YwmFvbNiHuusIlILkiyvC1NYrdn5hSyygHnnp7h46V1YVV4jwWo3XS8Diyp6yR2Mxi8v1HnAqQ== 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=4uVEULsVC512sdaAmhLCXBpJkkGrRWUZta4LQi2+8oQ=; b=iRWOOnTaj2qBM6YXPLrA6XGO3aHIntzVtOgPMPFhCRwii1C1jQrMgqFcvVnAylVIHn5sVkNl5PhNMNaeTIiEXe5E1e8PQrmfFhA4FHEkrX/cb9qzqWhXZl886/hxBwXSL9Ll3ayulUDu2oi4atmA5QhwOt7SSfGz25vyeXJ6VM2MQOYaN5cSFUtKwe9b4DHEOSVCjmgLJtKFDn7gMPkeirz24f2ah6fxQvCELpjKLDJC6EIePVesOeB2ITfOyx8fjlRJPkae2i15sYwG+jUi1hkYsoS/tHEeorE+WAesozSLXQbyekFXu8xPUqoG6AvWGoILixMzo4PpC5wIl8eMhw== 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=4uVEULsVC512sdaAmhLCXBpJkkGrRWUZta4LQi2+8oQ=; b=YKTUBEmj2ogzQC0TUtTg9eI+O61SskCXycJRU2FUSjJzWz+WJ48ACIcSpsS3uT5+qBPRCn4G9g9+qTjvDM5fzppLwV+NvSRzn4jobjplW4whknQTb2xMAX3w4EkDMga6iFKKFlwXQi30PKF9et4IuGH6G6vvnR2aXiFvSnxxbrg= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB7PR08MB4587.eurprd08.prod.outlook.com (2603:10a6:10:30::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.22; Sun, 6 Jun 2021 18:33:16 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f15f:821c:74c5:2482]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f15f:821c:74c5:2482%2]) with mapi id 15.20.4195.030; Sun, 6 Jun 2021 18:33:16 +0000 From: Honnappa Nagarahalli To: "Zhang, Qi Z" , Joyce Kong , "Xing, Beilei" , Ruifeng Wang CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , nd Thread-Topic: [PATCH v1] net/i40e: remove the SMP barrier in HW scanning func Thread-Index: AQHXWt6+SyccfibsvU+3xAtLgQFgXKsHQPmg Date: Sun, 6 Jun 2021 18:33:15 +0000 Message-ID: References: <20210604073405.14880-1-joyce.kong@arm.com> <561469a10f13450bae9e857f186b0123@intel.com> In-Reply-To: <561469a10f13450bae9e857f186b0123@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 55886B5B175DF2458DAB7E3FCA37B387.0 x-checkrecipientchecked: true Authentication-Results-Original: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [70.113.13.105] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 7e45084e-ff4e-49d6-a630-08d9291994c0 x-ms-traffictypediagnostic: DB7PR08MB4587:|AM6PR08MB4102: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:3826;OLM:3826; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: RohuZWy+5zTQpTbqprS86XrH2HgXWaSqqOvUcLP4BMo0w8M1RLRDFboLOmViuvTtmNa46KOvCrcX98AE5bBZJ24OlOBybYFWYTHQ0wpNEPwfUHR9PkUQvPu/AoyQClYK1YMzaKMs7eH0TwZPIj6w0VPbZjPwkZn4hWIJy8jprQA0q7ifgrRiKK5BH6pZp5vcQJrhVU6tlPJ7YhtecnYuwTz257y4iVFEiEA0VTSw/kmpQGGyADBJF+xeoqrHoO+rVfIQtD7j7wmTnL9zW4gvNPjjABvN5jc1f4l4Y4uszdS/AI8lJD2v7jtH4pzqCXZhEFM3N3MUjcDpiokn416BYfyr/lRGMj+JJszeoJQacCUFrw1P63uG3xz4ofkoXT6h2rsYj0+mY0Mawv3Up3asrOKjE7nuvojNgjeqqa8PyWQjdBgamh6Q/juaaGgM5CuyXMJHClEKSZXNK6gezPh8k/ExpEJkuZZae9pCCwEb1KfdDoC2L7G/BYdBXQ3FSuYn/XiAWKfKQ48AVMe+HuBHLGMYogZfMvAefFhG6WVlCnkKg4H3y3NH+sJB0eeaPvxLWxHKbpGdkmxfkeDMRqK6NNIVV6lB7/7D5EWijHkbAXA= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39850400004)(366004)(396003)(346002)(376002)(66476007)(66556008)(66946007)(8676002)(33656002)(66446008)(64756008)(6636002)(55016002)(86362001)(8936002)(71200400001)(52536014)(26005)(478600001)(83380400001)(186003)(4326008)(54906003)(2906002)(7696005)(110136005)(316002)(122000001)(38100700002)(9686003)(76116006)(5660300002)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?4lWGZWaG+USniSQjhW+WtAFRj0PAQx05yE4CkbIrrJ8sDXMdLtBtbIeJs2h5?= =?us-ascii?Q?FnNZZ6uEyVGyD+e8Ouqj3Ve6FOjmMEZW9q6hKGwgq0j5PLfwk8tXxMOiSene?= =?us-ascii?Q?IfVcbz5pofmfLl5SSJwDwlvrCETbNobzwpsqFYDTrR5ESbPLOEDSJ35YlJ2V?= =?us-ascii?Q?tzB4wDtqfOnKqHk3klUDIFH/8STijbtnvCjzqEkT9rt7IT/B8r2fXk/v/r+a?= =?us-ascii?Q?Lk+5gm4+W4zhH8nll99z+7VJJohiw9fSru08x/ETTqX3SkGrueKDuLg9maU+?= =?us-ascii?Q?DUkjQnGi2mqzfah8yUodLdIdtyGzD4dbl8q8VVrR6qKA+tpJUauZqmLrVYjk?= =?us-ascii?Q?uI6qVkXaBmfViL8/ApE92jYmoNoHgtFI/5tbMiq9Xezzd0G6nze3W3ezC/U3?= =?us-ascii?Q?oc58Bjdm3dbcr5VZ7OSEZRXIGt8xhLc9P9U+5ZkIR/0luwqLBq/C7DjMBUP8?= =?us-ascii?Q?m1+nSgS37Wn0RJqt+/oK1jmBjFqYmqAfS04tRZGQc3nyXZDJh6BzJjqj8z0i?= =?us-ascii?Q?156fBSDVXrO9Ru1I13nbxCeORuqjlrUCnBiDDNVwnrX2xSrJHmlJjJcnsEyy?= =?us-ascii?Q?Hyu4ldeoTD+fX0hWPu3mgLUTV7ml63AqPTxiR04cPrntA+cJELt5uA21PP8E?= =?us-ascii?Q?3S39bKlgK3pfOAZ+fL+NZykYV8sQNNHg25hj/Ll20Z+8ZcWJ8aYNzQh2ulIu?= =?us-ascii?Q?VZpVSyj6xiACQpTqoWVMDFgrQGcdjNym29MjAl6MAbugykGBOJfU8S4Sottg?= =?us-ascii?Q?dZVbILzzEW9AR62jMJVvZU2eiTqpcI68Lsa6jKWJ74UcBMjEaULbfHCYc+lM?= =?us-ascii?Q?7XjoplZ0q7yRcMbQ9nn/7KIWdQ0f02Hm8fpwNQUTjguns8+vmE9Sov9coA5q?= =?us-ascii?Q?ujzrRwVVhlvsdU9/BNaeT0xt1Ux7Uuh3zUvMluH4th6Lp55vcuZqqZAo18iW?= =?us-ascii?Q?8JWFDrS/Rl94rxLwK9sriMrmBqQsKjLHEsf0oNyMI+dGxQpyMtzu9Clr9Zms?= =?us-ascii?Q?lJ4yPOnj3DheHPrK8v+DUaY5iN+By99MtELnBm/njyPxcBb73Sg1lS3ZMZS4?= =?us-ascii?Q?uWXK0P7U9K/SYHXRhI5ejZeMg9d21MwmVgwaLBMtTepPjs9rWWAIFGNaKh7f?= =?us-ascii?Q?obNjNriUxsqTTOS3qI4Xciepq0rq5kHml7ij+pLxlnayhr49kRzL9yMK/gKC?= =?us-ascii?Q?1bGx7gKsXfWUhHYOm/sZgglfcmPe5ShTVniopR2BdJq+nXgKG4h/zd3G3yGa?= =?us-ascii?Q?I3jVqRHMBodjBLbqzpCWul/QjmWedq+0qNmZROI79wBtYfu7DioKuHu+y/5N?= =?us-ascii?Q?GlbUV75KxIAIIVacfVBDZiJW?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4587 Original-Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT013.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: f5e41810-6fa7-425c-25d3-08d929198ca8 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LCuaq627OFr5c1CmfkKMzqGGgPzMHpoWQa4PVdVJmW5DZWkYTy8nw5huL7qxNTEoP3zOIsHnfm87JeX9InKhihoIyxeh5tLuLvGnW3pkdr8TufwanrCMD6GH/sWs67GCZ++6Jexmj7NmrNJxpL0GPoLSBGQzqqo/Fm39W+XPJcfU2/yynVBcjvLa1TAbnfA8yFoJ2OQ4CeU8B0r9FX9ntxt0QPEpbb+BC3Iw2PeZtGatYKPqTCAXBwKJqZShFl/x/maDhYsAyGDCGk71TT72GDrqNisC6vKKo3Z2j/oenZcgyJcigYQwkoNu391LSAQ9aecPQsFsm7dFcqlZnhl7oj3migNIaCeCYwJXML/fd1ReyvtSM8e26YPVmc+t7x5glG46sMlguKy9EyGJYR+H7gE50C7JXEo3jyFWnLAzKyWPfQDpCmQTsGFzHjwjQm0+D+ENE+OpcJCnMj8hW/Vv7pORUKjabCBBsP/I7QxdXc8FtVovjH9roAGA/kEh1IV4v8qnRKGSMVDKFE/v/GtYNNQej/AZQYXo4HJUEHrDLWCo4qS1paqpnxkLsFhZuuZ55hajgdUNFxssg2Ut1eUSBdGhFLXGdgsSsOkPXOkn7eLKgowbXATLp/zus/bu74HnJoFkVR0+p29830hMDcQdcw== 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)(376002)(39850400004)(396003)(346002)(136003)(36840700001)(46966006)(83380400001)(316002)(70586007)(9686003)(36860700001)(186003)(81166007)(110136005)(4326008)(70206006)(5660300002)(54906003)(33656002)(47076005)(8936002)(6636002)(7696005)(82310400003)(52536014)(356005)(6506007)(8676002)(82740400003)(2906002)(26005)(478600001)(86362001)(55016002)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2021 18:33:29.4891 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7e45084e-ff4e-49d6-a630-08d9291994c0 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: VE1EUR03FT013.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4102 Subject: Re: [dpdk-dev] [PATCH v1] net/i40e: remove the SMP barrier in HW scanning func 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" > > > > Add the logic to determine how many DD bits have been set for > > contiguous packets, for removing the SMP barrier while reading descs. >=20 > I didn't understand this. > The current logic already guarantee the read out DD bits are from continu= e > packets, as it read Rx descriptor in a reversed order from the ring. Qi, the comments in the code mention that there is a race condition if the = descriptors are not read in the reverse order. But, they do not mention wha= t the race condition is and how it can occur. Appreciate if you could expla= in that. On x86, the reads are not re-ordered (though the compiler can re-order). On= ARM, the reads can get re-ordered and hence the barriers are required. In = order to avoid the barriers, we are trying to process only those descriptor= s whose DD bits are set such that they are contiguous. i.e. if the DD bits = are 1011, we process only the first descriptor. > So I didn't see the a new logic be added, would you describe more clear a= bout > the purpose of this patch? >=20 > > > > Signed-off-by: Joyce Kong > > Reviewed-by: Ruifeng Wang > > --- > > drivers/net/i40e/i40e_rxtx.c | 13 ++++++++----- > > 1 file changed, 8 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/net/i40e/i40e_rxtx.c > > b/drivers/net/i40e/i40e_rxtx.c index > > 6c58decec..410a81f30 100644 > > --- a/drivers/net/i40e/i40e_rxtx.c > > +++ b/drivers/net/i40e/i40e_rxtx.c > > @@ -452,7 +452,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 =3D 0; > > uint64_t pkt_flags; > > uint32_t *ptype_tbl =3D rxq->vsi->adapter->ptype_tbl; @@ -482,11 > > +482,14 @@ i40e_rx_scan_hw_ring(struct i40e_rx_queue *rxq) > > I40E_RXD_QW1_STATUS_SHIFT; > > } > > > > - rte_smp_rmb(); >=20 > Any performance gain by removing this? and it is not necessary to be > combined with below change, right? >=20 > > - > > /* Compute how many status bits were set */ > > - for (j =3D 0, nb_dd =3D 0; j < I40E_LOOK_AHEAD; j++) > > - nb_dd +=3D s[j] & (1 << > I40E_RX_DESC_STATUS_DD_SHIFT); > > + for (j =3D 0, nb_dd =3D 0; j < I40E_LOOK_AHEAD; j++) { > > + var =3D s[j] & (1 << I40E_RX_DESC_STATUS_DD_SHIFT); > > + if (var) > > + nb_dd +=3D 1; > > + else > > + break; > > + } > > > > nb_rx +=3D nb_dd; > > > > -- > > 2.17.1