From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 38385A04BB;
	Fri, 25 Sep 2020 01:20:21 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 966DB1DFF1;
	Fri, 25 Sep 2020 01:20:20 +0200 (CEST)
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by dpdk.org (Postfix) with ESMTP id 2D9C51DEE8
 for <dev@dpdk.org>; Fri, 25 Sep 2020 01:20:18 +0200 (CEST)
IronPort-SDR: A/SC+KIQtCrv5uNJBLtNiNYP5VBflR2tt683aX1/ePq8VJfqvu1ZbNjLKo6xHNipWLjC4u+JwK
 Sq/pDKF7ZiqQ==
X-IronPort-AV: E=McAfee;i="6000,8403,9754"; a="149034361"
X-IronPort-AV: E=Sophos;i="5.77,299,1596524400"; d="scan'208";a="149034361"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 24 Sep 2020 16:20:17 -0700
IronPort-SDR: haJBz8vIgwGxB4XhOyPl5+oXukXBPAS8aF+IHinIHyFTWdnwyxup9vLi1SMjmHc/xNCyf5t7JW
 VKDOiMQrp7GA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.77,299,1596524400"; d="scan'208";a="336226390"
Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84])
 by fmsmga004.fm.intel.com with ESMTP; 24 Sep 2020 16:20:16 -0700
Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by
 fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.1713.5; Thu, 24 Sep 2020 16:20:16 -0700
Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by
 fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5
 via Frontend Transport; Thu, 24 Sep 2020 16:20:16 -0700
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174)
 by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.1713.5; Thu, 24 Sep 2020 16:20:15 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KNoJVMUzTeg3BroQ7Fg0xb4lLFbzGGpjQObtw2eDXtlSz1AyLrLG0AB3HJog92jr6/aVltBxM6GmxB5YV49KTJYctLNVUHKEpE+9qj/NVwSBQhsLx/fHg3jB1QqMCutcJQUjaCGdm1laCEgGIwzO4IEelum4C1QKOESs45SPunU9V7mQxb/kgMvTZJSwZbSZ7khpfmnesxWFOEKNP/0v9EaNMKK0xkulVCfBib06q+242LfYADVztjVfQWl2q2AkN1vcxAclUz7jeSyze4fEN4WA0L5C2NqyDSw280LAci4KvK9JlA3yNNYPJtA3setBINK5xzG+mVYUgQDH9xXWgw==
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=JZefwkz/r3aLIpLkXisRyW85CiUW3vD/Gn9OuRRv9J8=;
 b=XRD7zNqJbHW6hQX93Dq6ex9HSqNaBbRUFX5aRuDj9s7IdmD81K6/o31UEUYw0QBSK8SY75RPhgzAhqo6BjceTOyU4YA1oh1GaAyGfIZUGxnOv3+35SgOA3aAxbXrQAnzk+f9v3EpXsnEO/M8/wuHovBPyIvcha3ODZaDOur0ORjqdi3/rHlaaNI97d94Eua6O/YH0unbAYmFuPr5BqaJ+KOWRu5GYoTncRxwWCHmA7ApQWwjmrZR7q5EvsVtdtZO/JmpsivJoTL12LXfolIYgrJQpyQVqYOrB6L0eyMPB0tydx0KMNRw38UMK7mVy0P1/8stJ2zsCBwSFvp3+v3z9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; 
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JZefwkz/r3aLIpLkXisRyW85CiUW3vD/Gn9OuRRv9J8=;
 b=XoSV9z6GblG3DDx3NxOt1eo6st5aUVe83uqraM4DMdkOQSYQJhTIl8BnjxnAi73LcGj143Fa3Y7lqHSlPdJ9BqwqVWiO73Gnft/+Z1uy75/kdfg5h67ybFzg7CiRMvgAldE5HIDJgXFLrgcSPn6jFY2PYDGu2jjFsYq6LbfA8wM=
Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30)
 by BYAPR11MB2773.namprd11.prod.outlook.com (2603:10b6:a02:c6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.15; Thu, 24 Sep
 2020 23:20:12 +0000
Received: from BY5PR11MB4451.namprd11.prod.outlook.com
 ([fe80::4162:97e1:7d04:a508]) by BY5PR11MB4451.namprd11.prod.outlook.com
 ([fe80::4162:97e1:7d04:a508%7]) with mapi id 15.20.3391.027; Thu, 24 Sep 2020
 23:20:12 +0000
From: "Chautru, Nicolas" <nicolas.chautru@intel.com>
To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, Phil Yang
 <Phil.Yang@arm.com>, "dev@dpdk.org" <dev@dpdk.org>,
 "david.marchand@redhat.com" <david.marchand@redhat.com>, "Hunt, David"
 <david.hunt@intel.com>
CC: Ruifeng Wang <Ruifeng.Wang@arm.com>, nd <nd@arm.com>, nd <nd@arm.com>
Thread-Topic: [PATCH v3 2/4] bbdev: use C11 atomic builtins for device
 processing counter
Thread-Index: AQHWkjUuj1rN4CLbJEaGEXaS2pDbu6l4VxjwgAAJsvCAAAS3IA==
Date: Thu, 24 Sep 2020 23:20:12 +0000
Message-ID: <BY5PR11MB4451818B07479133EFF28FE7F8390@BY5PR11MB4451.namprd11.prod.outlook.com>
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>
 <BY5PR11MB4451D4BEF802C005349C1941F8390@BY5PR11MB4451.namprd11.prod.outlook.com>
 <DBAPR08MB581456F23F954A71C837F1EA98390@DBAPR08MB5814.eurprd08.prod.outlook.com>
In-Reply-To: <DBAPR08MB581456F23F954A71C837F1EA98390@DBAPR08MB5814.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-reaction: no-action
dlp-version: 11.5.1.3
authentication-results: arm.com; dkim=none (message not signed)
 header.d=none;arm.com; dmarc=none action=none header.from=intel.com;
x-originating-ip: [45.28.143.88]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b8091483-d799-4c03-f3c4-08d860e062eb
x-ms-traffictypediagnostic: BYAPR11MB2773:
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <BYAPR11MB27739006E4A0336A76416929F8390@BYAPR11MB2773.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 9pcc8m3XyKQPiTecjHB1SJG3I1LhD59hiQUHk4YO0vvVXokKkcu9td8vKH5fLZ3pqCKc2jz290Hu3wnR/zkix23dJ11i6Lf6yHB99hcclUWT5Nh4B6T7UEsm/EEPs+tkAglg1+FvqRAQTtR09aiE+DWx03D9DwIhzje98/vYG05HavqLoaoroHo4lCyQZfCsF/iLxroWBOwq1SwZ2K0tpMIxYzP8gIi/KkWmmg0gKp5vecRs/FNLT6Jk6rFefbQrKmANzzbjBXoCMAT7qR0YSg+mydIzXVAKRQOmB1+syLh8TGiPaC/AVddGxe63BK5apWCnEGkdNy6F4pgHIDkvWUooBoBknPesVRe713l5WuK7O6CRsYBt8EeDMsxl75Ha/bQEgWUzNgAuJFkJQCLiTQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(376002)(346002)(396003)(366004)(136003)(39860400002)(6636002)(26005)(110136005)(76116006)(66446008)(86362001)(52536014)(186003)(64756008)(6506007)(2906002)(316002)(54906003)(478600001)(8936002)(8676002)(53546011)(7696005)(4326008)(83380400001)(66946007)(71200400001)(66476007)(66556008)(55016002)(66574015)(5660300002)(33656002)(966005)(9686003);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata: atTQtm04ooYwLtlJcp/NDDz/Aady/aBQNXnJlYVlN80JDj6WFEJR8jR5nSDUoPyz14ukfEfqhLjXxAm0dzK5r1a4XLxsmfDXE3d0l41K4q78w8PgFcm4JWOPi1hl8O0MYytwQzlV24iV0182s29eAAnIPrKWdTdmyQh7JBHVgH1nwc9+xbzg7D5P6EG1lmSjg/CNK8ybyN1xNVTXiZVxA6d3pH6U9tiKto4j0WIgZl7+M24MohlbGaDpYPxhqm1r/xV9FLTV3H3kp2HaR6b0gSObbTk5EbaWwhbW1adenajn633q6sEJyS4JzRgy6iVDERIlkPssFLnCVWzHgyUlY+COskvLqKAqDwlHQC26fGDtB54pBUG29HHr1XrKV0KxsjOf4wL52Gx82LSM9GiBguGU8lD/yhJYomsZV0V3f8+SydYMMcAg2gYrTtx3OTaj4TPwoz6tQs9GwfVbDY/TxiBefZxldDZXzd3lwWu/AYtEziMFXW3OYHJ3ujmTx5wgJCPizfsU2dtecaYD0s4LE9Rm0S19cELMuz7hBbylk2OqCelmSS9Zwu5kNH2G6Ms0V0QtVsZbt/Nqm/bVzbt2ED8CxTSLsGeCsiia2VNMh0KEjPr5uZhqpRVRa52Kk+4bNlRdlLfzk8O4RMngC0kcmw==
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4451.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b8091483-d799-4c03-f3c4-08d860e062eb
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2020 23:20:12.0367 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: T9FaPehMyDLlyW3HXcULMDBIylZzgDcYaxtJsO2JlTXvzZImdzsaPvnWkz2FJYMz77FWigeTjwWmSpUElrn3KARy4kC2G5ALN6MiIl5QZZc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2773
X-OriginatorOrg: intel.com
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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

Thanks Honnappa,=20

Acked-By: Nicolas Chautru <nicolas.chautru@intel.com>

> -----Original Message-----
> From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Sent: Thursday, September 24, 2020 3:45 PM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>; Phil Yang
> <Phil.Yang@arm.com>; dev@dpdk.org; david.marchand@redhat.com; Hunt,
> David <david.hunt@intel.com>
> Cc: Ruifeng Wang <Ruifeng.Wang@arm.com>; nd <nd@arm.com>;
> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; nd
> <nd@arm.com>
> Subject: RE: [PATCH v3 2/4] bbdev: use C11 atomic builtins for device
> processing counter
>=20
> <snip>
>=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.
> However, through further discussions [1] in the community, it was decided
> to use atomic built-ins.
>=20
> [1] http://mails.dpdk.org/archives/dev/2020-May/167416.html
>=20
> > Here you are using directly the C11 atomic built-ins and not providing
> > and 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.
> >
> > Thanks
> > Nic
> >
> >
> > > -----Original Message-----
> > > From: Phil Yang <phil.yang@arm.com>
> > > Sent: Wednesday, September 23, 2020 10:39 PM
> > > To: dev@dpdk.org; david.marchand@redhat.com; Chautru, Nicolas
> > > <nicolas.chautru@intel.com>; Hunt, David <david.hunt@intel.com>
> > > 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 <phil.yang@arm.com>
> > > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > > Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> > > ---
> > >  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 <string.h>
> > >
> > >  #include <rte_compat.h>
> > > -#include <rte_atomic.h>
> > >  #include <rte_bus.h>
> > >  #include <rte_cpuflags.h>
> > >  #include <rte_memory.h>
> > > @@ -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