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 8790943B4F; Mon, 19 Feb 2024 23:16:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 08C5240275; Mon, 19 Feb 2024 23:16:38 +0100 (CET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2080.outbound.protection.outlook.com [40.107.249.80]) by mails.dpdk.org (Postfix) with ESMTP id 76B9240263 for ; Mon, 19 Feb 2024 23:16:36 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fOX4RjzXSyNW7dXUJ7QhM/zkuDxObHXGXG6Wm7L9Ug+0Qp30x66hZjx0hl0wuBFhXFa0FaCxk5bGdYJsXZNjditbYXhIzySRdFxL04dq+BuwZ8BxtI/nW2Q/ROOzSBg88RyOBjSyF5dVcW4DYwJerKYP5q4ZgPXyqdDkPDqQZipVUtuyPExrAiVO1h68fVnfPNjT7Q2E2UNqKYB7m1b8ijWw23C6wFksovnMxmCo/ILKdXRonFLvyEPwU7ir351mm+Ixu24Qm5xAA2Wb/EajNfWLdvG5bUD4bRQNlSKDA7NuJBmc9HuRLN4eGNyDEXnCzwc0lOUjsyK8+V4bSf4nwA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Mavoc4h1s9NTTGWaJQyc3/yamqXxijVKcrknDarhkUA=; b=aXqivTKVG+bJxFvuoFM1Xf0vf54vqK522mrF573F2wkU75AYIIVJEqZNTao24n7ULDSoggwHIcbIQyBM5MG6X6TKzk0s9UKVVRIAjfkmqs+4fCbNLwFrtNOj0lxC5nTl+AacEA70pZLirU1bcJY0tKsnkDug+B3kSE5jCKUAJtLoAl0jWOZKRa+jYT1nFgL4mVn6VZfeVT5XXfRxgiGniyem9nt3axRpUuDlhMz0e4y4XLQOutEH2CnEwq0wC/8TcQT0YDVyqhtVE04IN1JCSrmhmgfIGUAg7JkIiUxg8VULpAUtaA2xT1YtPb4XsyIyjLX/SnwC9nJEYV+5fsV8Nw== 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=Mavoc4h1s9NTTGWaJQyc3/yamqXxijVKcrknDarhkUA=; b=CvxObD3VNaYhDU085jkfrEYqdRWPPikWfn+jLy1GjTliYHGcRSo0M/383lG3kQWt96GezI7Z6VJVwDAn6yD9Yp9iQbzLhF1Ab0bnsHYQcUkSMbBOcSFrw2KmNcfZ7NUVvFPXyqGQEA3yIAGWhIbCsaV/6QYPwtHWwv6kTiU1W3A= Received: from AM0PR08MB5073.eurprd08.prod.outlook.com (2603:10a6:208:15c::27) by DB8PR08MB5369.eurprd08.prod.outlook.com (2603:10a6:10:11c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.38; Mon, 19 Feb 2024 22:16:34 +0000 Received: from AM0PR08MB5073.eurprd08.prod.outlook.com ([fe80::4313:26fc:de38:10d8]) by AM0PR08MB5073.eurprd08.prod.outlook.com ([fe80::4313:26fc:de38:10d8%3]) with mapi id 15.20.7292.036; Mon, 19 Feb 2024 22:16:34 +0000 From: Wathsala Wathawana Vithanage To: Andrew Boyer , "dev@dpdk.org" CC: Neel Patel , nd , Honnappa Nagarahalli , nd Subject: RE: [PATCH 2/3] net/ionic: remove duplicate barriers Thread-Topic: [PATCH 2/3] net/ionic: remove duplicate barriers Thread-Index: AQHaYPq1WtLonrxY+UezAfKOcmelFrESNdxQ Date: Mon, 19 Feb 2024 22:16:34 +0000 Message-ID: References: <20240216170704.55523-1-andrew.boyer@amd.com> <20240216170704.55523-3-andrew.boyer@amd.com> In-Reply-To: <20240216170704.55523-3-andrew.boyer@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: DA083A67C38F4E458265031263D4080B.0 x-checkrecipientchecked: true authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM0PR08MB5073:EE_|DB8PR08MB5369:EE_ x-ms-office365-filtering-correlation-id: 1deb3a78-2699-46f8-44dd-08dc31986ea9 nodisclaimer: true x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ew8AQnEJA/CTKRyXnDYVwlzlNFERYd4/nf4CsdAQa9KkxqgdDGwscyXxB3Z3v9SEGRLJVlYFXae4dDBQYfSMMinEjtoFRZOuAZDkJSr3BOhqS0NKEvd0xuU43TUVG6PIoZXAsvNnhGjMA2aYOwIV/yTZ/p05+s8reimHBpvkpPPHZWECclMakSJy/kbLNziwIZslhF7iQ9YvuhP3fZzmalProJkwhRDvUxBoRol1xcMY8hHne4XtCdiTbwtoa8jrYajG3fr5IJOuEevv8PEsD37OqZ0QfV2Cro9GmguKSgUmDQdwdhdbn4Z5y+MC2bBqVugXPQIw487L1Fxptl8TokxJHbYgTweYKgJ6LVUxhYJy6J/wGTMLG503mcvocJyP/5lN85UtyecBoT88hgLDIltzorNBGBo/2Gndzzl4XnbltYUJjY3bIfjbJwkbqo+NsQEhx2rcKal7k48OB0NLV09sE/oMtuvQqYeEtH6e29HceylYRjH3IIUOERi73DOnWwTmulaHtX0LCNHqHt6TPPQr5bP37l6iYLdO6dXbS39kHVft5yD1+tOIB4mTcb75nN5pv9uLsFKwReUC+xAS2jT0BzH1JwfJzpNC4kJIYzlNEDl8kuQ2S1DXn7MHnV9f x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB5073.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yvpcLFxKZxdvRho4Vs+ktVkW8DDAQiv1Y3Qnc9XF01YvdBnvjxytoVVDLH8H?= =?us-ascii?Q?syV1JYuRGsHGN50g/wzbxG3LeBKP5ilY86qoGl3eYJAzQipgpXgLQquZaxsQ?= =?us-ascii?Q?7XdE+jedUirGZC8B2jGjMByCdCj0EQRhP/B2ZlJiSUOOXXdARQS7IgeaCoxA?= =?us-ascii?Q?FRv3CYCdHKslj+Anu9SZKAwOkou5Hv641Yze2rJ9XODsANkSaQaboONTeBHb?= =?us-ascii?Q?ln22JPd5WFxwhmwv2E7IlN4kpXeQs31u6PPo91/rYRc/Zci2IHx1ZYc3qovP?= =?us-ascii?Q?WCqI0AScmHyTjl4m1QOtwDMDrlMDB9NHdxvmmGGICrJGFxWXn+o9zW1ljKvP?= =?us-ascii?Q?o+kZi8e/SMmijvdu2/l01PzRpB0OeY/Cv82HIgA/Kb73tPgpZQzBIAHiEIh0?= =?us-ascii?Q?+4K+5DSbMQO7jUC2mvZQjmwQNRVMcAne6FiFItUDgUKKP5dBoXsOOR2Ym564?= =?us-ascii?Q?xVj3/UB2TKT+7RFWw17gNCLawpbWQW8ImYr9YJuVvOCRkr2Gw+fImOw3mbm0?= =?us-ascii?Q?Rn46pla+GqhPIEJe2tY2ufspnXgbxtBWXt+nU0VayQQ9N6C4Wl0lDWyt/dKX?= =?us-ascii?Q?xRw7W3Ux4dxhC7kvEZlGHRnWD3Zf6sUcfRC6otlzVXd2P0Ne6ivWAZZMUWl1?= =?us-ascii?Q?WpHbQDSIK90dri7Mgu7dFnAvAbtf4sgvVtVkqJvtERkXmd8joRlN58yecNip?= =?us-ascii?Q?n3ZRKzdfTVXAU3oZf9DsW6M1JtTgKZlVXTrYiHeIkiGNAqtVuCdq/nxkm4jY?= =?us-ascii?Q?4KHXKnqTeKddjVRjg+YdF0gbVzdL1BgdUpL5zMxUzmbXc9tCabQJZHHbI014?= =?us-ascii?Q?KdQBIqITs4PXoN0YzKOKWyQqNlEEdMESwTaG+bzlXG2XqULu7ypJN7OCGLCw?= =?us-ascii?Q?ngrE85P3Pr8xSwpwxC+rG/p4S4qwd/5doFniIZkGV/gIKHwUJpEjKeItR7Xu?= =?us-ascii?Q?Kyp8ndL3fZK9x7s3IjlEWQrfDVR/BETFzqyjgjuvG43LERByNGbcH5CAePuc?= =?us-ascii?Q?XbQ/nOW7pYHnr6+wtAUtutkSEmgqpL607Ei2QrzAsPu6fK7Og7wRjioiiQOr?= =?us-ascii?Q?PsfyJcsbH9Saqjd1u+ht0EUQQZQd+LExmUKVclTsx9YW4Q1v+DeWjIvo+Yy2?= =?us-ascii?Q?7pkHzIh1Ke8xRJmAwW7EuggTW7HQEyn42XY81lplOYjcS8WLcnG3x8XcWuog?= =?us-ascii?Q?4lmja3osiOQkk1X78/dVSSuwAmA6Vzchu8bHZ5mzKZqVzY0xVJROWc9GabA6?= =?us-ascii?Q?1/zu9gKRzHyoH03HOIwQJ2M8BDvupXrJ5z420RZpr74dM5RQlul2k8U4o+ma?= =?us-ascii?Q?M/5Jwnf5qdVI4xkZ7cOtKfEIKGgb6oDcBkKNHY5kPoasw6GSxHKzgkn+CuqJ?= =?us-ascii?Q?trWGvAlWMwHP1FMbFYODbiUHECrso3p2JpSVLUVm1ukEb1YYVSf/hlyi2WIi?= =?us-ascii?Q?XT/hTyUU8szL/t1xVSTcZ2spl3R49veMnyOEbj7r2v33kdogCXHyFfJmHbib?= =?us-ascii?Q?9eu4BOlNCazf4H7+cTEouEakyQear0MUQaAPCM+t+3/hcgypZYb8U/MM7YBq?= =?us-ascii?Q?LJ0v0RB9vYJ+nQB9a/8zT/TdRynPvTC5emb2EJOv?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0PR08MB5073.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1deb3a78-2699-46f8-44dd-08dc31986ea9 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2024 22:16:34.0613 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MvzHqPhSFJzbDthki4kcQP3RPcX+XpxyfGPMl8tUYHdw+PPVqk3FbAa99H8Q3mfIwhVGGs30rv0YcHLFO7qnEiObtWh8MV7JAOwXJnkD55I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5369 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 Hi Andrew, I think that this barrier may have been added to ensure any writes to q->hw= _index and q->head_idx complete before ionic_q_flush computes val. Dependency chai= ns can also prevent reordering if that's the case this barrier is not required= . However, I have the following concern. > diff --git a/drivers/net/ionic/ionic_main.c b/drivers/net/ionic/ionic_mai= n.c > index 1f24f64a33..814bb3b8f4 100644 > --- a/drivers/net/ionic/ionic_main.c > +++ b/drivers/net/ionic/ionic_main.c > @@ -223,7 +223,6 @@ ionic_adminq_post(struct ionic_lif *lif, struct > ionic_admin_ctx *ctx) > q->head_idx =3D Q_NEXT_TO_POST(q, 1); >=20 > /* Ring doorbell */ > - rte_wmb(); > ionic_q_flush(q); >=20 > err_out: Ionic_q_flush(q) uses q->hw_index and q->head_idx to compute the value of v= al which it writes to the address stored in q->db. I can see that q->head_idx is upd= ated before the removed rte_wmb(), therefore it's safe to assume that=20 " q->head_idx =3D Q_NEXT_TO_POST(q, 1)" and=20 "val =3D IONIC_DBELL_QID(q->hw_index) | q->head_idx" will maintain the prog= ram order due to that dependency. But I don't know if there exists a dependency chain= =20 over q->hw_index. If not, then that may have been the motive behind this ba= rrier. > diff --git a/drivers/net/ionic/ionic_rxtx_sg.c > b/drivers/net/ionic/ionic_rxtx_sg.c > index e8dec99c04..3820fd850f 100644 > --- a/drivers/net/ionic/ionic_rxtx_sg.c > +++ b/drivers/net/ionic/ionic_rxtx_sg.c > @@ -218,7 +218,6 @@ ionic_xmit_pkts_sg(void *tx_queue, struct rte_mbuf > **tx_pkts, > } >=20 > if (nb_tx > 0) { > - rte_wmb(); > ionic_txq_flush(q); >=20 > txq->last_wdog_cycles =3D rte_get_timer_cycles(); diff --git > a/drivers/net/ionic/ionic_rxtx_simple.c > b/drivers/net/ionic/ionic_rxtx_simple.c > index 9674b4d1df..4c9b9415ad 100644 > --- a/drivers/net/ionic/ionic_rxtx_simple.c > +++ b/drivers/net/ionic/ionic_rxtx_simple.c > @@ -191,7 +191,6 @@ ionic_xmit_pkts(void *tx_queue, struct rte_mbuf > **tx_pkts, > } >=20 > if (nb_tx > 0) { > - rte_wmb(); > ionic_txq_flush(q); >=20 > txq->last_wdog_cycles =3D rte_get_timer_cycles(); > -- > 2.17.1