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 635CEA04BB; Fri, 25 Sep 2020 00:44:53 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C2D9F1DFE2; Fri, 25 Sep 2020 00:44:51 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140052.outbound.protection.outlook.com [40.107.14.52]) by dpdk.org (Postfix) with ESMTP id 7439F1DECB for ; Fri, 25 Sep 2020 00:44:49 +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=FBllDRA6rM94zTF96jd24Id4Hpqx2ETqzDlzhaScBjY=; b=vkheDC6rNOtiDRA6P4P8EC3OjrMqbFTmVJtGxbc77sVydVngW48O2L3EZ/ZccndzP22usL6Y4SPPboa/oG2a8GjORL1WZ5b53l4E9UTP6laeyambXu2E8bafa+0uHDywRM8iLe0+EvwqaajpMxgAbV5mCVjbZiJ68EUO4vic004= Received: from AM6PR05CA0022.eurprd05.prod.outlook.com (2603:10a6:20b:2e::35) by HE1PR0802MB2426.eurprd08.prod.outlook.com (2603:10a6:3:e1::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.11; Thu, 24 Sep 2020 22:44:48 +0000 Received: from AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:2e:cafe::d5) by AM6PR05CA0022.outlook.office365.com (2603:10a6:20b:2e::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Thu, 24 Sep 2020 22:44:48 +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 AM5EUR03FT023.mail.protection.outlook.com (10.152.16.169) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.21 via Frontend Transport; Thu, 24 Sep 2020 22:44:47 +0000 Received: ("Tessian outbound bac899b43a54:v64"); Thu, 24 Sep 2020 22:44:47 +0000 X-CR-MTA-TID: 64aa7808 Received: from cdf75a33d33a.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 01B6CD21-1256-4B78-A306-6A4135D69155.1; Thu, 24 Sep 2020 22:44:42 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cdf75a33d33a.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 24 Sep 2020 22:44:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W5zLGh4WnPxS/lQG8wYpRlV+Hf7BMSj+Rznu2muGV7vYa1av6+ombWANQh27i+K4V3ZdFOWwIXk9jP+8T32699nyFBFbgWi+We2yY20/eqqSwhJMNIK9je4kPgmzcLlNFZlE/ZKyzdoQBblFvnN2vn/9OUopFBBbiXLKC96ywTGcyffEE4QPGR2xBRf1w5kynz5EKMxe9SmfBt9I295aUYzGTtohEh79YgZSGriHBWJCWDJHUblYYnCbKXgXXv+TgQZH605k4Vok1o6tTHD2ET8GDZHemzeqPhgyuC2+NdV52omcIXMI6gEIoi1HJILk8K8e8fKyB5pcKZL+uIDyww== 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=FBllDRA6rM94zTF96jd24Id4Hpqx2ETqzDlzhaScBjY=; b=OjwkzqF4/FcOGwjqCYgeBaXB2po2PEnDIf73KO4JuNmXmUY7xKHAgPW7dLeCm9zyz9svRfVQiA0kIkdcrdzKO/IBddqrEQra7t43NIwMM5v3Bdcsg6dz+J2+k6eiAcHM2AaYdATGem4MpV1F7VAOap13C1voJmjcsu85ZptY5uatc59rPGoyh+0WNY3NOzJDfHtye3IYFo2zDjwtf4HaWTYKVhzzdGZFxPmDKMyx/fKfC/WqcP0Ek51O5m1OM+BYw5C8bvpGmdGhi73Fd8yoEwes+LrqWE2JxtquLvAHFDT49Wt5fW/AeyusD/jEi5iAPREEW0kVNqzGtEu5BiOMzQ== 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=FBllDRA6rM94zTF96jd24Id4Hpqx2ETqzDlzhaScBjY=; b=vkheDC6rNOtiDRA6P4P8EC3OjrMqbFTmVJtGxbc77sVydVngW48O2L3EZ/ZccndzP22usL6Y4SPPboa/oG2a8GjORL1WZ5b53l4E9UTP6laeyambXu2E8bafa+0uHDywRM8iLe0+EvwqaajpMxgAbV5mCVjbZiJ68EUO4vic004= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB6PR08MB2645.eurprd08.prod.outlook.com (2603:10a6:6:24::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.11; Thu, 24 Sep 2020 22:44:40 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::7814:9c1:781f:475d]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::7814:9c1:781f:475d%4]) with mapi id 15.20.3412.020; Thu, 24 Sep 2020 22:44:40 +0000 From: Honnappa Nagarahalli To: "Chautru, Nicolas" , Phil Yang , "dev@dpdk.org" , "david.marchand@redhat.com" , "Hunt, David" CC: Ruifeng Wang , nd , Honnappa Nagarahalli , nd Thread-Topic: [PATCH v3 2/4] bbdev: use C11 atomic builtins for device processing counter Thread-Index: AQHWkjUuj1rN4CLbJEaGEXaS2pDbu6l4VxjwgAAJsvA= Date: Thu, 24 Sep 2020 22:44:40 +0000 Message-ID: References: <1600244628-13062-1-git-send-email-phil.yang@arm.com> <1600925968-18278-1-git-send-email-phil.yang@arm.com> <1600925968-18278-3-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: 6B2AE0983D988142A407EF295DFF5F9C.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: [217.140.110.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 2a866c66-5de5-4fac-29d4-08d860db70d1 x-ms-traffictypediagnostic: DB6PR08MB2645:|HE1PR0802MB2426: 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: FH2K0QwCbCkytmHztaowgx5ppH/qP0oWflplX9b3k7gxLSaCNP+2Y/HabcZzD0HlV6Sl1des/EHdCtPbnHOBsIGklAFCOUSdHkgiYZi5RWH3ijVKKqTQ+G0lEyMSe2tp9H8CuBakIfmgH96qqE7OjZMBfEBTJJqGrDqFyn/2+G2MJWhM/MA94PpaRxMWffp8hkryuzksKucBCLromF95HqseQPJjlgZ9e14unmDuBja3MGFkfPoA5Va6wlKo+t/ZUCjor8j/v/WP0Cg6k8zqdOnJhLjXJ9DGUv3JhFudnWOquVON4g9XfHoZg+FJHAU4qlgwRC1PedunWb1L1xSjKcqI1ydEAd6H4lkvlSV+VWprShq+CiOQOgl1Iagpp4BgjaMoA0JLxoIh+No/sOBkMVV8u+09TlDezs3AJE4ZV5IS2Ab/amQEZZiVwidBzInbZYUT3jEau/L+epw6vzOZjw== 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)(346002)(376002)(39850400004)(136003)(396003)(366004)(83380400001)(8676002)(110136005)(52536014)(2906002)(7696005)(26005)(71200400001)(86362001)(55016002)(53546011)(6506007)(186003)(9686003)(33656002)(66556008)(64756008)(76116006)(316002)(54906003)(4326008)(66446008)(8936002)(478600001)(66574015)(66476007)(966005)(5660300002)(66946007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 0tio6zmgQZS223fDZkQtxvVfSkVkZtuxS7qkCmKqxgHZmGW1wNpOvDCwJLcVxIA54Iax6ZWiMJJ9+Xf8gfOb6rl0l0F1IfF+ut8njF41ZV1r1G8nFyFrpXqgiWhbE1CpUApZBKd+bzwAFvg3u8DtfNI8CTbpFg3CDsmPMB53lOcRELKKT7N2Q3vOC/mlYmj6PmmWxo5Jo4Hx8mHnm2x+Suk+4C5dZt+X9YDvNFyL5tIJR6zZH/EF1nOD5ejXbWpBtTRwhoSXLJPnrnp8pMRPCT3SrTMpcl8JCIa4OldKPQdfevidx8VR0c61DXhMKQWl9pHfYDrjFP6Menxq4i6ydRb96hY6FZtgj+yf3BY8BYNabGcOzU3ZejqKxCcNgAWrU3woqceIRwDdl+n/DQu3oONNN5/X9eozLxjAvM9rHAU0f0aHcn9oj2wR8QpzWdLQ6aBN7CtIf7ueglVLLXyNg10hBJj0dYJxMjPQrDC9ce4W7QwkzCTOFUZRz4dRNlUY8GECXHAc7AmUWAhzySfX2aM7S7VGNL6ZnA0m4mmO3mcWihaC1KMCqcQHeQcHmqWwH3BUZzM0zCZZDYw+yqUb048XneSFb+Rnk4ykkMehxhgPCo/De1OAdDKvhSubmyTQdtYhMS0JNm/pyGFxFTmlRQ== Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2645 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: AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: e41dea60-957f-4e5f-1fee-08d860db6c5d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gt4O6Z2ci5wKzpCM/TmWUjL/SaTVtYF4htTDhEPurZnFYjEtXxi0mcBzlcbYwCf0kdG0PiWYGxJ8wyeSuJA/K87wK8XjPyxSMfPosp3Oj8Lzyai+WwV9rWacK1ZLu6q/OJhIiX5HYSdN8hVrvEU/aBvAG/KgtUrNNxkayTa6NRvbSoqsMJewGKj/bqexaXNHqpysOUSex5+hHimA8jAtRXeEkesW86Egh5pFjW4zcswpMDQcsUwyV7Z59YV+xHTQ3qeGHDPKZVN6BGuwfwT2bf370iVRliQxnSpcdNQpwfYWgoPdHV3lRckezUaUm/7XVPMLanGVdRfNc/0395/XwvzInPVr9qRjZG/HCJGmgIn7p3BAUWIQ9bOvjQEJlPjwcFHnhmL/lQLwUeh/XpRVFP8PeWGu8Wr+LARS3jbuS/Jr8VCgM72EszuUoWzcoQImWggNDzjuaVFATLeelG8p9FCTdHypNaUgQtxAQ76zh10= 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)(346002)(376002)(39850400004)(136003)(396003)(46966005)(316002)(82310400003)(83380400001)(86362001)(186003)(9686003)(55016002)(66574015)(336012)(33656002)(52536014)(5660300002)(110136005)(2906002)(70206006)(54906003)(70586007)(81166007)(8936002)(6506007)(7696005)(966005)(53546011)(26005)(4326008)(47076004)(82740400003)(36906005)(356005)(8676002)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2020 22:44:47.9175 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2a866c66-5de5-4fac-29d4-08d860db70d1 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: AM5EUR03FT023.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2426 Subject: Re: [dpdk-dev] [PATCH v3 2/4] bbdev: use C11 atomic builtins for device processing counter 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" >=20 > Hi Phil, > Na=EFve question but the deprecation document was stating that "DPDK will > adopt C11 atomic operations semantics and provide wrappers using C11 > atomic built-ins." At the time of writing the deprecation notice, that was the thinking. Howev= er, through further discussions [1] in the community, it was decided to use= atomic built-ins. [1] http://mails.dpdk.org/archives/dev/2020-May/167416.html > Here you are using directly the C11 atomic built-ins and not providing an= d > using a DPDK wrapper. > Wasn't the intent to have a new rte_... wrapper here? Ie. the same way as > the __sync_fetch_and_add() were called before behind the rte_atomicNN_XX > wrapper. >=20 > Thanks > Nic >=20 >=20 > > -----Original Message----- > > From: Phil Yang > > Sent: Wednesday, September 23, 2020 10:39 PM > > To: dev@dpdk.org; david.marchand@redhat.com; Chautru, Nicolas > > ; Hunt, David > > Cc: Ruifeng.Wang@arm.com; Honnappa.Nagarahalli@arm.com; > nd@arm.com > > Subject: [PATCH v3 2/4] bbdev: use C11 atomic builtins for device > > processing counter > > > > Since rte_atomicXX APIs are not allowed to be used, use C11 atomic > > builtins for device processing counter. > > > > Signed-off-by: Phil Yang > > Reviewed-by: Ruifeng Wang > > Reviewed-by: Honnappa Nagarahalli > > --- > > lib/librte_bbdev/rte_bbdev.c | 5 +++-- lib/librte_bbdev/rte_bbdev.h > > | 4 +--- > > 2 files changed, 4 insertions(+), 5 deletions(-) > > > > diff --git a/lib/librte_bbdev/rte_bbdev.c > > b/lib/librte_bbdev/rte_bbdev.c index a4fdb69..5ba891c 100644 > > --- a/lib/librte_bbdev/rte_bbdev.c > > +++ b/lib/librte_bbdev/rte_bbdev.c > > @@ -210,7 +210,7 @@ rte_bbdev_allocate(const char *name) > > return NULL; > > } > > > > - rte_atomic16_inc(&bbdev->data->process_cnt); > > + __atomic_add_fetch(&bbdev->data->process_cnt, 1, > > __ATOMIC_RELAXED); > > bbdev->data->dev_id =3D dev_id; > > bbdev->state =3D RTE_BBDEV_INITIALIZED; > > > > @@ -252,7 +252,8 @@ rte_bbdev_release(struct rte_bbdev *bbdev) > > } > > > > /* clear shared BBDev Data if no process is using the device anymore > > */ > > - if (rte_atomic16_dec_and_test(&bbdev->data->process_cnt)) > > + if (__atomic_sub_fetch(&bbdev->data->process_cnt, 1, > > + __ATOMIC_RELAXED) =3D=3D 0) > > memset(bbdev->data, 0, sizeof(*bbdev->data)); > > > > memset(bbdev, 0, sizeof(*bbdev)); > > diff --git a/lib/librte_bbdev/rte_bbdev.h > > b/lib/librte_bbdev/rte_bbdev.h index 5729137..7017124 100644 > > --- a/lib/librte_bbdev/rte_bbdev.h > > +++ b/lib/librte_bbdev/rte_bbdev.h > > @@ -33,7 +33,6 @@ extern "C" { > > #include > > > > #include > > -#include > > #include > > #include > > #include > > @@ -426,8 +425,7 @@ struct rte_bbdev_data { > > uint16_t dev_id; /**< Device ID */ > > int socket_id; /**< NUMA socket that device is on */ > > bool started; /**< Device run-time state */ > > - /** Counter of processes using the device */ > > - rte_atomic16_t process_cnt; > > + uint16_t process_cnt; /** Counter of processes using the device */ > > }; > > > > /* Forward declarations */ > > -- > > 2.7.4