From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2FD09A0350; Mon, 29 Jun 2020 16:37:58 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D8CC81BF6C; Mon, 29 Jun 2020 16:37:56 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10077.outbound.protection.outlook.com [40.107.1.77]) by dpdk.org (Postfix) with ESMTP id 01B2A1BED1 for ; Mon, 29 Jun 2020 16:37:55 +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=nDO9fUf4pO+gaAAtoJZfHr72Pn094wexBY8UUAFgzzc=; b=hJD2h94NOR+qN2/t20qFzSE6g/zDIn8YXYE2Lcr7WJaxwUU+u6rtUjfcfUtD915+5V8CSjKPpWK5HgdliSmt9PD01oxFo/Oq5FFEVJH28+VSJIsEcZwmxCjYtpITfOKVPUluNRIhqKG7abJ7LsnC8PXbZ0syWVsz6Dqtru2KWXc= Received: from AM5PR0201CA0020.eurprd02.prod.outlook.com (2603:10a6:203:3d::30) by AM0PR08MB4499.eurprd08.prod.outlook.com (2603:10a6:208:140::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Mon, 29 Jun 2020 14:37:52 +0000 Received: from AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:3d:cafe::a5) by AM5PR0201CA0020.outlook.office365.com (2603:10a6:203:3d::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.21 via Frontend Transport; Mon, 29 Jun 2020 14:37:52 +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=bestguesspass 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 AM5EUR03FT040.mail.protection.outlook.com (10.152.17.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20 via Frontend Transport; Mon, 29 Jun 2020 14:37:50 +0000 Received: ("Tessian outbound fcfbba629a49:v60"); Mon, 29 Jun 2020 14:37:50 +0000 X-CR-MTA-TID: 64aa7808 Received: from d447606aa647.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 329104C2-BFB8-4E0F-8651-FE2B8E7ACD93.1; Mon, 29 Jun 2020 14:37:45 +0000 Received: from EUR02-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d447606aa647.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 29 Jun 2020 14:37:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NuZ0gJTPBQcG4drECAV/xPhpMe0XshFPc23KY5NgxP2BJp7aY4v2VjstAt1A/mOB95ndi2fUCGLmdexk7AHpGDzcVmoTybLJyLXQCehSc7SJ/pODTSq5J9UyZUtXYtOb9wIJL929xjD84HDVFPiilza0CphqFvvkqDaZ1Rek7/e9i/oAb/htmDQ8dFiHaD+pAMaKHNlbpSY9u/jcnlRloZ9FA/yCrMhuIpxChl1WyQGSTDvp2kSSQoB9dtnOD9sDQObX+PHrfcmZ4eoWu7TRXRrb8swXm3e5g2z6JLn6uYvCQ4lErz4A8BX69psP68wqd0wi+QwtBZUnpNwihPDERg== 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=nDO9fUf4pO+gaAAtoJZfHr72Pn094wexBY8UUAFgzzc=; b=Lz/rA+MHMx0TjZhzfCMuzHsTiVKDQky1xZzMgvr7wIRROx7wv0+GpO8ab7XsUoaF41oyb3zZJ/8kk7c9Rz8W5hodS6nDEUVB/6iV/ZwsCcKAB8Rk0svSqsyRRgM7oNrxc1NANaGT0hgg+7rmzgg5I0l7VzZY1m4x6lPpUIt2ilelgNp1bihSkvbLzUENfLWhZTUfQ1LZ+0Mv5VwLTeJYULQSmnb5fnJY5kejnqIw64nDSZ78jjG6lGx5Rnq69uIZcPUcBj1/gqtjN2cDkeVB2YBro0RYDNIT/maB6pgQjad9J7andveR/PJ/Xe/Ixg0kez1htbHZ2xXZvLbbKU/1jg== 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=nDO9fUf4pO+gaAAtoJZfHr72Pn094wexBY8UUAFgzzc=; b=hJD2h94NOR+qN2/t20qFzSE6g/zDIn8YXYE2Lcr7WJaxwUU+u6rtUjfcfUtD915+5V8CSjKPpWK5HgdliSmt9PD01oxFo/Oq5FFEVJH28+VSJIsEcZwmxCjYtpITfOKVPUluNRIhqKG7abJ7LsnC8PXbZ0syWVsz6Dqtru2KWXc= Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com (2603:10a6:4:85::9) by DB8PR08MB4105.eurprd08.prod.outlook.com (2603:10a6:10:b0::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.25; Mon, 29 Jun 2020 14:37:41 +0000 Received: from DB6PR0802MB2216.eurprd08.prod.outlook.com ([fe80::9d1d:207b:e89d:199d]) by DB6PR0802MB2216.eurprd08.prod.outlook.com ([fe80::9d1d:207b:e89d:199d%10]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 14:37:40 +0000 From: Honnappa Nagarahalli To: "Ananyev, Konstantin" , Phil Yang , "dev@dpdk.org" CC: "mattias.ronnblom@ericsson.com" , "mb@smartsharesystems.com" , "stephen@networkplumber.org" , "thomas@monjalon.net" , "Richardson, Bruce" , "Yigit, Ferruh" , "hemant.agrawal@nxp.com" , "jerinj@marvell.com" , "ktraynor@redhat.com" , "maxime.coquelin@redhat.com" , "olivier.matz@6wind.com" , "Van Haaren, Harry" , "Carrillo, Erik G" , "drc@linux.vnet.ibm.com" , "david.marchand@redhat.com" , "Chen, Zhaoyan" , Ola Liljedahl , Ruifeng Wang , Phil Yang , nd , Honnappa Nagarahalli , nd Thread-Topic: [PATCH v5 4/4] eal/atomic: add wrapper for c11 atomic thread fence Thread-Index: AQHWMzxoM2zbSme4/km4FuceL3pW7ajtDKUwgAKHwYCAAElSoA== Date: Mon, 29 Jun 2020 14:37:40 +0000 Message-ID: References: <1589270586-4480-1-git-send-email-phil.yang@arm.com> <1590483667-10318-1-git-send-email-phil.yang@arm.com> <1590483667-10318-5-git-send-email-phil.yang@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: e82ac70f-2d28-4485-9ffd-d669f6739d8d.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.112.90.121] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 71bbe250-41d2-4a0d-92be-08d81c39fff0 x-ms-traffictypediagnostic: DB8PR08MB4105:|AM0PR08MB4499: 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-forefront-prvs: 044968D9E1 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 0bkkkVCNL57ghjsulFRHFKlio0oNXo+saxWjF6Ehsnqb6waMWZGQtlYAJN9oTLXIt1iCi0vNzCdAFXlaV/pgZxzRB27rvQnMG2/VSmYYMwJywlpouRnFzINwW+9k0VdlEmJBDU+Q8iki1ExUJLgCGgyXVSOZG68P7ueyqXrVIFLooddUcBgBxtqwAPgxxbljyP7rPlaK4zXdhDiXbJBGP0wFl927wqcJomlZ607mlIy74gD8XfTsr07w7lXoWgzBHl+ovQEqKy/5YwdhWPgUYTgjP7wgjC2eZw6JUT8xKH0FxUNu46I1V7OnqyKICCHs X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0802MB2216.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(39860400002)(346002)(396003)(366004)(376002)(186003)(478600001)(2906002)(71200400001)(26005)(7696005)(8936002)(55016002)(5660300002)(66946007)(76116006)(110136005)(54906003)(33656002)(66446008)(64756008)(66556008)(66476007)(6506007)(316002)(86362001)(8676002)(83380400001)(52536014)(9686003)(4326008)(7416002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 3f3jDBflpaDt360ltD10lyePDu2o2F67mwz9Bv1V5Wbc4ath5ReayapXv3WG44so5c4CJmBTeiKncZjUowllM93wX51yqo9SIdHF8iQxNsJJUYwFJ9z3dVqVzLxfCy7qOqMVG2PzCCkaPMa/ipOVJ3DCGzJy33PjPsbSOPTLq717bJ9Mtu7ejCejp79avuhSVQxstFYgSC/w66YhooC+Im1FmTv1JHqCGaHQ7sLW9QtYMmA/ojd1Ddob/zkJxlop1AkzY2DmDtz0LWtXncmTofPD2qvmJO2PkM2vmkyB9mhdIHLTFFNV3i/U/XO1XZQX5XNgUpnIFczWYP5YAmINdXFkc8iHOrHZEDkQpNNEPq9Kf+9C3lUulVpS9nSUL+9lA+08xoUR4pq31EJV8tyf59H3L4U5iIpjZN42PcGSZGd1FHRjTlvvVAdqcACab3y3oopwlUT2rKXUrtdCCqmH2Wnn06i5jA3EEoQ/W7/6WWM= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4105 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: AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com 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:ErrorRetry; CAT:NONE; SFTY:; SFS:(4636009)(136003)(396003)(39860400002)(346002)(376002)(46966005)(70206006)(2906002)(70586007)(336012)(4326008)(55016002)(5660300002)(52536014)(33656002)(478600001)(82740400003)(8676002)(26005)(47076004)(7696005)(186003)(86362001)(82310400002)(83380400001)(81166007)(36906005)(356005)(316002)(9686003)(6506007)(54906003)(8936002)(110136005); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: c469900f-855f-4f44-3faa-08d81c39fa3a X-Forefront-PRVS: 044968D9E1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: b+dWz3VsYO7Y8sYJXgALZdSVFvIVrthtx+QQAKJfrlmZNc4vFqi37W2yTct4sQIjL44tV5tripvk3iFFAdPMhttGSoNwvNNvouHVTpL9ommbXiE0G+QQtomRjVLxkNqeGAWOJrfjcXpWqaOl6sP63KMW1XBVNvGehWVlgcv9owzb1FoO11e5ShP9RMHgVhIVX7I+UJc1gPcafVLct4P3QAgaf8aeqpTFpLhmZi6I9njaRJUUXhC7uBH9MVFuDCTPECUsqPwB/U1AcPP62S4Hsu8jW//jIJerTpm91Ret4DKn4D+AWIJnYXummP+c58XwYXeFJ2xDrE3MzcNnv0ebYV6MLOiOxJWOXJu3ORSyccIHybzNJLeDCoLuJYTkVJznEd1zgC/Rv/H98BL+/bhyqg== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2020 14:37:50.4751 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 71bbe250-41d2-4a0d-92be-08d81c39fff0 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: AM5EUR03FT040.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4499 Subject: Re: [dpdk-dev] [PATCH v5 4/4] eal/atomic: add wrapper for c11 atomic thread fence X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" > > > diff --git a/lib/librte_eal/x86/include/rte_atomic.h > > > b/lib/librte_eal/x86/include/rte_atomic.h > > > index b9dcd30..bd256e7 100644 > > > --- a/lib/librte_eal/x86/include/rte_atomic.h > > > +++ b/lib/librte_eal/x86/include/rte_atomic.h > > > @@ -83,6 +83,23 @@ rte_smp_mb(void) > > > > > > #define rte_cio_rmb() rte_compiler_barrier() > > > > > > +/** > > > + * Synchronization fence between threads based on the specified > > > + * memory order. > > > + * > > > + * On x86 the __atomic_thread_fence(__ATOMIC_SEQ_CST) generates > > > + * full 'mfence' which is quite expensive. The optimized > > > + * implementation of rte_smp_mb is used instead. > > > + */ > > > +static __rte_always_inline void > > > +rte_atomic_thread_fence(int mo) > > > +{ > > > + if (mo =3D=3D __ATOMIC_SEQ_CST) > > > + rte_smp_mb(); > > > + else > > > + __atomic_thread_fence(mo); > > > +} > > I think __ATOMIC_SEQ_CST needs to be used rarely. IMO, > > rte_atomic_thread_fence should be called only for __ATOMIC_SEQ_CST > > memory order. For all others the __atomic_thread_fence can be used > directly. This will help us to stick to using the atomic built-ins in mos= t of the > cases. > > > > Konstantin, is this ok for you? >=20 > My preference is to have one generic rte_atomic_thread_fence() for all ca= ses > (I.E - current Phil implementation looks good to me). > I think it is more consistent approach and would help to avoid confusion. Ok, I am fine. The script currently checks for __atomic_thread_fence(__ATOM= IC_SEQ_CST), we have to change it to check for __atomic_thread_fence > Konstantin