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 407AD43202; Thu, 26 Oct 2023 06:25:55 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1467402BE; Thu, 26 Oct 2023 06:25:54 +0200 (CEST) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2052.outbound.protection.outlook.com [40.107.247.52]) by mails.dpdk.org (Postfix) with ESMTP id BE43C4029A for ; Thu, 26 Oct 2023 06:25:53 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=h7gNIa+On8/YnqNUCG9wB8aCJAYC6E4weADlQWv0qMpa9n+xztNujXK08y6eGD3QSVwBjgXKIyKCnvSCXhF1RmQHCofzlAoQaM1NJjdAD7crYUCSh4xQLcxfQb6yIBDstHw1aUtW9ofNlwOHTNpo295+XG1I1/WfPpCeZU6VrEPic/jez6fsrMqY5ejHVJyRdJSIuO+kLLOCGu84+nbQZCEnJEOO2S1j+WLI9i9vq2+CIFsiR/dCkxW4yhDbC9EmrwNa+/o3mw7CYLdgZ57CQDtYyroadV/Lu8dlkNyIH6OHpXkkY7qK8C2sZ+0s2lpcHlePg5IYqepOtLOk3mUyoA== ARC-Message-Signature: i=2; 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=XoOugnAZcTltRIcgmxJPyZhmsKj06hQfsKEPdn2FitI=; b=UBKXR5tafh0xXdjnBbUZ4g+aPf2cqcV4MOvcC9ab9gBvoapwW4YtJpioUgLekf/XnkcTzCsYHCDHwS7AuSZ3r7zIdr7yAHzhMOF9SYeVq53UnmUYvwwKoFHV/dVoOT35AyEB2Ye8tsHcasTTMAGoWyCobqslLAt8Nwd/DKFibzozkW7JHGVnF0FTnELyYVCMF0d73Bo8uzJaQrDN9ySeY64k/EK0eMCvkRQyQopgAb8LgNgCL6vVSU88usX0Mvwawoo9Y4zxrXWqRMVVg1BRy265k6x1UikuSwCLrckM4i71Isz55K2w8LqQ42LihoHj6Mg5YtWIhgendJUDtFdb1w== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) 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=XoOugnAZcTltRIcgmxJPyZhmsKj06hQfsKEPdn2FitI=; b=S2LrbObfYfCvjA1nof2ZE3VDQAKsf8aLPAsiH9XLipv8ce/PCL8EfDyOTJUXOd/e74L5Q91lxyubiaXKIA2n7wReblSEX+w3K5vfX0eYYWL6vGce52v+AOKpkoRBhb525UcR9ohAn2YDW6s9qIX0mQntg058Tgyj+VjoKZ5IaGQ= Received: from AS8PR07CA0049.eurprd07.prod.outlook.com (2603:10a6:20b:459::30) by AS8PR08MB9694.eurprd08.prod.outlook.com (2603:10a6:20b:616::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.31; Thu, 26 Oct 2023 04:25:12 +0000 Received: from AM3PEPF0000A791.eurprd04.prod.outlook.com (2603:10a6:20b:459:cafe::5c) by AS8PR07CA0049.outlook.office365.com (2603:10a6:20b:459::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.8 via Frontend Transport; Thu, 26 Oct 2023 04:25:12 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM3PEPF0000A791.mail.protection.outlook.com (10.167.16.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.15 via Frontend Transport; Thu, 26 Oct 2023 04:25:12 +0000 Received: ("Tessian outbound d9a8e74be042:v215"); Thu, 26 Oct 2023 04:25:12 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b844ccd8bf6e016e X-CR-MTA-TID: 64aa7808 Received: from ddb71e0b0f45.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A479811E-4CB2-4F11-A0AC-45288C390B5A.1; Thu, 26 Oct 2023 04:25:03 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ddb71e0b0f45.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 26 Oct 2023 04:25:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MKiV1hIX+Jf9DbmqosvLzaBAafRa17SZDI+mT64LKGpKPGOUUCRyLlMXFoUE8Txm94Zdd45uBQb7qDuNkBXwHRgDGiUD2C/1QsfqPxOmWsTbGvVeaDAKxDfaeU3ciX/sU8q1lxD5e/cRAfeLlg3xYE817URI7RVXXkurMcuj9hwnVpFniGEZeRbvuwDMsDT9D2QI5JW8QRohyuIM3NqTpy5AgT+no9XaValWW4Q+No1dFKg25ZUBZ4kDfl8JxaQyg2DCh5xBjdhuwqjCJX3Qicmdq7v8D4dP+8zgxKJ9WaB/qvpfvAfHcMHEFxV89li8sfRHkqda/fRXkCUvAyA7FA== 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=XoOugnAZcTltRIcgmxJPyZhmsKj06hQfsKEPdn2FitI=; b=NIunMmq8p43Lf5GkdrC3lhUcMkQ5VuIFF+oZe0P8stbYPCipeKUsbFbe7/5jp7esmvhhGDSgL4gYyWZzNrbfH9oKsnyj04qxTjycqV5bowo1YsWu4XaRqe1RxdWGfoTdz0JpSY/Kas09wE8SFLTJiCyKs7hevrEu9Tf1uncXAiwWuPqWu43ZzqZQ9XZHkd9URjH9gaL+1TXy6vilkuDmImBcIlxwAYEnnIX4j5CJFVhWsTHUBmfTr1I+urGD/KOlE9KT5k2Bx2pBm7kDpRBVeSNq5XNxnQJBQ3pA7AP7A1fL4mf6GPY8EMnmvcqQz+WI0FXUoMNVz+3BDDh184HV6Q== 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=XoOugnAZcTltRIcgmxJPyZhmsKj06hQfsKEPdn2FitI=; b=S2LrbObfYfCvjA1nof2ZE3VDQAKsf8aLPAsiH9XLipv8ce/PCL8EfDyOTJUXOd/e74L5Q91lxyubiaXKIA2n7wReblSEX+w3K5vfX0eYYWL6vGce52v+AOKpkoRBhb525UcR9ohAn2YDW6s9qIX0mQntg058Tgyj+VjoKZ5IaGQ= Received: from AS8PR08MB7080.eurprd08.prod.outlook.com (2603:10a6:20b:401::19) by PA4PR08MB5967.eurprd08.prod.outlook.com (2603:10a6:102:e7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.19; Thu, 26 Oct 2023 04:24:57 +0000 Received: from AS8PR08MB7080.eurprd08.prod.outlook.com ([fe80::2daa:1eb2:925b:c7f]) by AS8PR08MB7080.eurprd08.prod.outlook.com ([fe80::2daa:1eb2:925b:c7f%6]) with mapi id 15.20.6907.032; Thu, 26 Oct 2023 04:24:57 +0000 From: Ruifeng Wang To: Tyler Retzlaff CC: "dev@dpdk.org" , Akhil Goyal , Anatoly Burakov , Andrew Rybchenko , Bruce Richardson , Chenbo Xia , Ciara Power , David Christensen , David Hunt , Dmitry Kozlyuk , Dmitry Malloy , Elena Agostini , Erik Gabriel Carrillo , Fan Zhang , Ferruh Yigit , Harman Kalra , Harry van Haaren , Honnappa Nagarahalli , "jerinj@marvell.com" , Konstantin Ananyev , Matan Azrad , Maxime Coquelin , Narcisa Ana Maria Vasile , Nicolas Chautru , Olivier Matz , Ori Kam , Pallavi Kadam , Pavan Nikhilesh , Reshma Pattan , Sameh Gobriel , Shijith Thotton , Sivaprasad Tummala , Stephen Hemminger , Suanming Mou , Sunil Kumar Kori , "thomas@monjalon.net" , Viacheslav Ovsiienko , Vladimir Medvedkin , Yipeng Wang , nd , nd Subject: RE: [PATCH v2 09/19] rcu: use rte optional stdatomic API Thread-Topic: [PATCH v2 09/19] rcu: use rte optional stdatomic API Thread-Index: AQHaATlPMANYtIbSsUurQuvg3yBf2LBaRn5ggADe8ACAAE0rAA== Date: Thu, 26 Oct 2023 04:24:54 +0000 Message-ID: References: <1697497745-20664-1-git-send-email-roretzla@linux.microsoft.com> <1697574677-16578-1-git-send-email-roretzla@linux.microsoft.com> <1697574677-16578-10-git-send-email-roretzla@linux.microsoft.com> <20231025223814.GA30459@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> In-Reply-To: <20231025223814.GA30459@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: E2706A2DE9AB56409B2AECED8D3668DF.0 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AS8PR08MB7080:EE_|PA4PR08MB5967:EE_|AM3PEPF0000A791:EE_|AS8PR08MB9694:EE_ X-MS-Office365-Filtering-Correlation-Id: 93916c69-5874-4921-0095-08dbd5db8bd7 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Jff49yi4zLafisQIaJwLzBbw7X7pjyDht9dxKygJ6WOS6zGKn2raRxrU8xm6Z8Bl9BLNIX0kaltRUoPLvjF16GSy7ZkLMbKa8PTM4o3Xv6EyFsTbK5LeZvNwSnwSKiZDY0JQFI3p6HmAksEWUAjTxVmc9vPQr2kDeqUD9uBakIs4kWvl5+Q36UPmy0wQkP/R4ON3pelBjOVOKI1B8tmZE+fO+c0kUPOw3dsSfyGfzUIC/tDiAvZBaSndxSs658ERP1egPL3jUcBlVtzobBDuA9r5GSPNdr6j7MH6yxv7VoPIW/YfO7vV00pEOZDuiSgcZxzbHsp2eey3Kq46tqTHMmAO9M3Oct5iM0IF8DjZLB7iJB7oL22cXiJTMSjMwd15RRpoeIng0OGP3iwast+MGmIBSqmc8Dc8uv0PcAS0cXzPpHlNgDhUgtF4LPMK4Q5JQ7h8x8WIdGlyW91Qzqg9mpEeBc6WezaYRZGHZ7+AnwACkMiURV677nWT5mxQxY4ER4PXfNrMCwcBsiD11+cvWPGH92UYEEpP308Q442yuuuJOiDqRAnPurn8qbO3F9V/LQuKCMzhmQAtDbcUeSuyoqpe+gNvCcu9j9WCrovNBRNnyn5Gt2N0vFBE8ckK2N05 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB7080.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(136003)(366004)(39860400002)(376002)(346002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(53546011)(6506007)(5660300002)(52536014)(71200400001)(55016003)(7696005)(6666004)(41300700001)(26005)(83380400001)(7406005)(7416002)(38100700002)(33656002)(9686003)(122000001)(2906002)(86362001)(478600001)(316002)(6916009)(76116006)(66946007)(66556008)(64756008)(66476007)(66446008)(966005)(54906003)(38070700009)(8936002)(4326008)(8676002)(21314003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5967 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF0000A791.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 22f68dac-1091-4f17-8118-08dbd5db815e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O6w7RalTf5+nuibpAz4GqWHbbCwUUMpQqjZPxZIzGzVdSNbsykEiYMmb13ZRj1MS9ciWf7gsQS2Vc5rSj4/yic5CWCtK6L/QUfhU0/snoSRLJz5tZ0l0IwPHfqi4UbPWldsCq4SqhZKmdxo8DH4qKbSxKDkzFOUDJ8RPNHTzB3aDfP7gZvdb91Pm43b9b6QovWdsqsijCuZUHDxBh9z34/ZhxH1tsiMBVvBWAa4mKCx2BqDNrBuYBMYSYAMoaQ5KqExEPX0EGSYGOhzMWeIJ2m9pBq/8y5TnzTV/z0BnypP2do9e/gq/L4RB/WiCsVkzazQlfxAJ8WKdtKbzCxxD7y2Wyt0/z0WGDy46hUj22/tG8ejLaaeQJcJ17+Lq1kW6o0fB/NkPaYcC+O6bTX/euAmofkOnoLza7lkuPr9CvcZm4XLojebUHMyV+WU84ve8pnwAwhaCx3JnpLp5arARAYhzsVh5RPgGdfmyHe5EX17uTkiaFuY2/sICYy4ReaiX2Do4NZf0nyHGoCYtvqwdlgqcUwAHRdIfrnQLY8T7MDeGy81h4xSm8eJBkV5YNzTJRL1pH+8dwv5ts9TqcR6kn2sboh/SbTI6TdKzpjPAjbq1gmARQaAwtsPvBhJvikbZmxQEsOeUfjsVmnkPqtRbB+WedVU554htCUQXvmbXNIdn7AhAMARknMyZrlpvxncG2JqDR0Uh3RU7bsJUIQXYsZn+ZBNNDivCquxPkzgod1Bq7BFJ+NOT4xKfRsSGCeRl6D0QaVZVZmtEBU4EyzFTWZ4YPdtZpfwXAjfgmyGapnQ= 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:(13230031)(4636009)(39860400002)(346002)(396003)(136003)(376002)(230922051799003)(451199024)(1800799009)(82310400011)(186009)(64100799003)(40470700004)(46966006)(36840700001)(30864003)(2906002)(55016003)(82740400003)(6506007)(81166007)(316002)(356005)(70586007)(6666004)(7696005)(54906003)(70206006)(966005)(478600001)(9686003)(40480700001)(47076005)(53546011)(45080400002)(83380400001)(40460700003)(336012)(52536014)(86362001)(5660300002)(4326008)(33656002)(8676002)(41300700001)(36860700001)(6862004)(8936002)(26005)(21314003)(23180200003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2023 04:25:12.3109 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 93916c69-5874-4921-0095-08dbd5db8bd7 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: AM3PEPF0000A791.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9694 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 > -----Original Message----- > From: Tyler Retzlaff > Sent: Thursday, October 26, 2023 6:38 AM > To: Ruifeng Wang > Cc: dev@dpdk.org; Akhil Goyal ; Anatoly Burakov > ; Andrew Rybchenko ; Bruce > Richardson ; Chenbo Xia ; Ciara Power > ; David Christensen ; Davi= d Hunt > ; Dmitry Kozlyuk ; Dmitry= Malloy > ; Elena Agostini ; Erik Gabr= iel Carrillo > ; Fan Zhang ; Ferruh Y= igit > ; Harman Kalra ; Harry van Haar= en > ; Honnappa Nagarahalli ; > jerinj@marvell.com; Konstantin Ananyev ; = Matan Azrad > ; Maxime Coquelin ; Narcisa= Ana Maria Vasile > ; Nicolas Chautru ; Olivier Matz > ; Ori Kam ; Pallavi Kadam > ; Pavan Nikhilesh ; Re= shma Pattan > ; Sameh Gobriel ; Shiji= th Thotton > ; Sivaprasad Tummala ; = Stephen Hemminger > ; Suanming Mou ; Sunil = Kumar Kori > ; thomas@monjalon.net; Viacheslav Ovsiienko ; > Vladimir Medvedkin ; Yipeng Wang ; > nd > Subject: Re: [PATCH v2 09/19] rcu: use rte optional stdatomic API >=20 > On Wed, Oct 25, 2023 at 09:41:22AM +0000, Ruifeng Wang wrote: > > > -----Original Message----- > > > From: Tyler Retzlaff > > > Sent: Wednesday, October 18, 2023 4:31 AM > > > To: dev@dpdk.org > > > Cc: Akhil Goyal ; Anatoly Burakov > > > ; Andrew Rybchenko > > > ; Bruce Richardson > > > ; Chenbo Xia ; > > > Ciara Power ; David Christensen > > > ; David Hunt ; Dmitry > > > Kozlyuk ; Dmitry Malloy > > > ; Elena Agostini ; Erik > > > Gabriel Carrillo ; Fan Zhang > > > ; Ferruh Yigit ; > > > Harman Kalra ; Harry van Haaren > > > ; Honnappa Nagarahalli > > > ; jerinj@marvell.com; Konstantin > > > Ananyev ; Matan Azrad > > > ; Maxime Coquelin ; > > > Narcisa Ana Maria Vasile ; Nicolas > > > Chautru ; Olivier Matz > > > ; Ori Kam ; Pallavi Kadam > > > ; Pavan Nikhilesh > > > ; Reshma Pattan ; > > > Sameh Gobriel ; Shijith Thotton > > > ; Sivaprasad Tummala > > > ; Stephen Hemminger > > > ; Suanming Mou ; > > > Sunil Kumar Kori ; thomas@monjalon.net; > > > Viacheslav Ovsiienko ; Vladimir Medvedkin > > > ; Yipeng Wang > > > ; Tyler Retzlaff > > > > > > Subject: [PATCH v2 09/19] rcu: use rte optional stdatomic API > > > > > > Replace the use of gcc builtin __atomic_xxx intrinsics with > > > corresponding rte_atomic_xxx optional stdatomic API > > > > > > Signed-off-by: Tyler Retzlaff > > > --- > > > lib/rcu/rte_rcu_qsbr.c | 48 +++++++++++++++++------------------ > > > lib/rcu/rte_rcu_qsbr.h | 68 > > > +++++++++++++++++++++++++------------------------- > > > 2 files changed, 58 insertions(+), 58 deletions(-) > > > > > > diff --git a/lib/rcu/rte_rcu_qsbr.c b/lib/rcu/rte_rcu_qsbr.c index > > > 17be93e..4dc7714 100644 > > > --- a/lib/rcu/rte_rcu_qsbr.c > > > +++ b/lib/rcu/rte_rcu_qsbr.c > > > @@ -102,21 +102,21 @@ > > > * go out of sync. Hence, additional checks are required. > > > */ > > > /* Check if the thread is already registered */ > > > - old_bmap =3D __atomic_load_n(__RTE_QSBR_THRID_ARRAY_ELM(v, i), > > > - __ATOMIC_RELAXED); > > > + old_bmap =3D rte_atomic_load_explicit(__RTE_QSBR_THRID_ARRAY_ELM(v,= i), > > > + rte_memory_order_relaxed); > > > if (old_bmap & 1UL << id) > > > return 0; > > > > > > do { > > > new_bmap =3D old_bmap | (1UL << id); > > > - success =3D __atomic_compare_exchange( > > > + success =3D rte_atomic_compare_exchange_strong_explicit( > > > __RTE_QSBR_THRID_ARRAY_ELM(v, i), > > > - &old_bmap, &new_bmap, 0, > > > - __ATOMIC_RELEASE, __ATOMIC_RELAXED); > > > + &old_bmap, new_bmap, > > > + rte_memory_order_release, rte_memory_order_relaxed); > > > > > > if (success) > > > - __atomic_fetch_add(&v->num_threads, > > > - 1, __ATOMIC_RELAXED); > > > + rte_atomic_fetch_add_explicit(&v->num_threads, > > > + 1, rte_memory_order_relaxed); > > > else if (old_bmap & (1UL << id)) > > > /* Someone else registered this thread. > > > * Counter should not be incremented. > > > @@ -154,8 +154,8 @@ > > > * go out of sync. Hence, additional checks are required. > > > */ > > > /* Check if the thread is already unregistered */ > > > - old_bmap =3D __atomic_load_n(__RTE_QSBR_THRID_ARRAY_ELM(v, i), > > > - __ATOMIC_RELAXED); > > > + old_bmap =3D rte_atomic_load_explicit(__RTE_QSBR_THRID_ARRAY_ELM(v,= i), > > > + rte_memory_order_relaxed); > > > if (!(old_bmap & (1UL << id))) > > > return 0; > > > > > > @@ -165,14 +165,14 @@ > > > * completed before removal of the thread from the list of > > > * reporting threads. > > > */ > > > - success =3D __atomic_compare_exchange( > > > + success =3D rte_atomic_compare_exchange_strong_explicit( > > > __RTE_QSBR_THRID_ARRAY_ELM(v, i), > > > - &old_bmap, &new_bmap, 0, > > > - __ATOMIC_RELEASE, __ATOMIC_RELAXED); > > > + &old_bmap, new_bmap, > > > + rte_memory_order_release, rte_memory_order_relaxed); > > > > > > if (success) > > > - __atomic_fetch_sub(&v->num_threads, > > > - 1, __ATOMIC_RELAXED); > > > + rte_atomic_fetch_sub_explicit(&v->num_threads, > > > + 1, rte_memory_order_relaxed); > > > else if (!(old_bmap & (1UL << id))) > > > /* Someone else unregistered this thread. > > > * Counter should not be incremented. > > > @@ -227,8 +227,8 @@ > > > > > > fprintf(f, " Registered thread IDs =3D "); > > > for (i =3D 0; i < v->num_elems; i++) { > > > - bmap =3D __atomic_load_n(__RTE_QSBR_THRID_ARRAY_ELM(v, i), > > > - __ATOMIC_ACQUIRE); > > > + bmap =3D rte_atomic_load_explicit(__RTE_QSBR_THRID_ARRAY_ELM(v, i)= , > > > + rte_memory_order_acquire); > > > id =3D i << __RTE_QSBR_THRID_INDEX_SHIFT; > > > while (bmap) { > > > t =3D __builtin_ctzl(bmap); > > > @@ -241,26 +241,26 @@ > > > fprintf(f, "\n"); > > > > > > fprintf(f, " Token =3D %" PRIu64 "\n", > > > - __atomic_load_n(&v->token, __ATOMIC_ACQUIRE)); > > > + rte_atomic_load_explicit(&v->token, rte_memory_order_acquire)); > > > > > > fprintf(f, " Least Acknowledged Token =3D %" PRIu64 "\n", > > > - __atomic_load_n(&v->acked_token, __ATOMIC_ACQUIRE)); > > > + rte_atomic_load_explicit(&v->acked_token, > > > +rte_memory_order_acquire)); > > > > > > fprintf(f, "Quiescent State Counts for readers:\n"); > > > for (i =3D 0; i < v->num_elems; i++) { > > > - bmap =3D __atomic_load_n(__RTE_QSBR_THRID_ARRAY_ELM(v, i), > > > - __ATOMIC_ACQUIRE); > > > + bmap =3D rte_atomic_load_explicit(__RTE_QSBR_THRID_ARRAY_ELM(v, i)= , > > > + rte_memory_order_acquire); > > > id =3D i << __RTE_QSBR_THRID_INDEX_SHIFT; > > > while (bmap) { > > > t =3D __builtin_ctzl(bmap); > > > fprintf(f, "thread ID =3D %u, count =3D %" PRIu64 ", lock count = =3D %u\n", > > > id + t, > > > - __atomic_load_n( > > > + rte_atomic_load_explicit( > > > &v->qsbr_cnt[id + t].cnt, > > > - __ATOMIC_RELAXED), > > > - __atomic_load_n( > > > + rte_memory_order_relaxed), > > > + rte_atomic_load_explicit( > > > &v->qsbr_cnt[id + t].lock_cnt, > > > - __ATOMIC_RELAXED)); > > > + rte_memory_order_relaxed)); > > > bmap &=3D ~(1UL << t); > > > } > > > } > > > diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h index > > > 87e1b55..9f4aed2 100644 > > > --- a/lib/rcu/rte_rcu_qsbr.h > > > +++ b/lib/rcu/rte_rcu_qsbr.h > > > @@ -63,11 +63,11 @@ > > > * Given thread id needs to be converted to index into the array and > > > * the id within the array element. > > > */ > > > -#define __RTE_QSBR_THRID_ARRAY_ELM_SIZE (sizeof(uint64_t) * 8) > > > +#define __RTE_QSBR_THRID_ARRAY_ELM_SIZE > > > +(sizeof(RTE_ATOMIC(uint64_t)) * > > > +8) > > > #define __RTE_QSBR_THRID_ARRAY_SIZE(max_threads) \ > > > RTE_ALIGN(RTE_ALIGN_MUL_CEIL(max_threads, \ > > > __RTE_QSBR_THRID_ARRAY_ELM_SIZE) >> 3, RTE_CACHE_LINE_SIZE) > > > -#define __RTE_QSBR_THRID_ARRAY_ELM(v, i) ((uint64_t *) \ > > > +#define __RTE_QSBR_THRID_ARRAY_ELM(v, i) ((uint64_t __rte_atomic *) > > > +\ > > > > Is it equivalent to ((RTE_ATOMIC(uint64_t) *)? >=20 > i'm not sure if you're asking about the resultant type of the expression = or not? I see other places are using specifier hence the question. >=20 > in this context we aren't specifying an atomic type but rather adding the= atomic qualifier > to what should already be a variable that has an atomic specified type wi= th a cast which > is why we use __rte_atomic. I read from document [1] that atomic qualified type may have a different si= ze from the original type. If that is the case, the size difference could cause issue in bitmap array = accessing. Did I misunderstand? [1] https://en.cppreference.com/w/c/language/atomic >=20 > > > > > ((struct rte_rcu_qsbr_cnt *)(v + 1) + v->max_threads) + i) > > > #define __RTE_QSBR_THRID_INDEX_SHIFT 6 #define > > > __RTE_QSBR_THRID_MASK 0x3f @@ -75,13 +75,13 @@ > > > > > > >