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 DADA1A04BB; Fri, 25 Sep 2020 00:02:00 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 377B31DF90; Fri, 25 Sep 2020 00:02:00 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 1AA341DEE8 for ; Fri, 25 Sep 2020 00:01:57 +0200 (CEST) IronPort-SDR: LoTsuLCr+HFCZAqoNDNQUS9pgNSwaWAjZYBIwmPKMnld5jgTbLzjFhU6L7NEIH1CieGMDOGlMo ioNoiI28+IWA== X-IronPort-AV: E=McAfee;i="6000,8403,9754"; a="222952289" X-IronPort-AV: E=Sophos;i="5.77,299,1596524400"; d="scan'208";a="222952289" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Sep 2020 15:01:57 -0700 IronPort-SDR: r7MqqtrGPWypRGCkaM1qeOeg+svUlhak9FVGzROwGFA9QeA3NDhT2IZ5Xzjxkwc1kC13xv3qaO 4RB8MPlXGFLQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,299,1596524400"; d="scan'208";a="487141172" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga005.jf.intel.com with ESMTP; 24 Sep 2020 15:01:56 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) 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; Thu, 24 Sep 2020 15:01:56 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx607.amr.corp.intel.com (10.18.126.87) 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 15:01:56 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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 15:01:56 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.170) by edgegateway.intel.com (192.55.55.71) 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 15:01:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E9WSCEbBB+UA2mgTgGYwMqTZaqehMOQ6lET1Es6BPogHgCr68yOlSxNTmLPxbfCFzfvdhqz5naCeFL+3Vx1/wU6KUj8VVl8yV4S/jFPc/20fs1vHxIhvmF4/uFyepBcJNzG4ob3EPB5wEQzPBc4l9XMUiSdODVAYwJm+bPxAPdSRpABYGOWN6Vsszbyv1w69dX+DsUNsj3t9R/0qAlMP6h/X0vOuRlbH1e3XRzB4Xxo8tN7k6q+9lIvzXbcWb/MzS2VAvE+9EGxcMdeQ9GNijmwz3suXC5dFd5b2eQzdiXVoDDN3yLXqflLmXnpaonsx9QXQ2ldLx93VzvCfGELgaQ== 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=5mM9keTLjJGYF8rPO2rten1QHjhowz8acmV/xgL/a64=; b=WWAQdwm3+idqRrFhdZy/XxrNnM5mx8uo5uiXbQpEEHvw0gpBxfoi0XVfHGZvcZVmikZchbVV8Q5x/uRSBecGrOURLq0P/unp6bzSs5PCJyKVhhq5jXe4ppSUM9WlkFI6Q8FwPvUs9m+lrow56/yqvfEfxYPNxlq54oBXC2NUdSIdj8sGQwpT2c+E1wS5f0L5z3dPvwT5DcTNHBQqv7q9+27ONqp0AGCRPFrXB7qN6G0PMMzW91Ye81uC6ph5JqqLZgdya2JgMNkUZCG2alXAdAxk1SZ0iw/HHy6qzqOv7wChKYvTCvzM2R1weaMImeKOuZ4mgXMLqiIFLxQRcfUnqw== 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=5mM9keTLjJGYF8rPO2rten1QHjhowz8acmV/xgL/a64=; b=kTW89Ok+RwOYY0X+aXFnPWwQh6n6SYqBO2bmlVDeJ95LNkjrDETCIixDNYkzeTOTdWIyZROtwoI7BxgCvyrZl0EpYNBLUyQIIiqTl1DlMuMVW0GClyQj2T6s5J5slpI5+cq4r3V9f+05Aw3+h+VZVK0+l9qk+govMq7P2LSiDZM= Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BY5PR11MB4404.namprd11.prod.outlook.com (2603:10b6:a03:1c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22; Thu, 24 Sep 2020 22:01:51 +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 22:01:51 +0000 From: "Chautru, Nicolas" To: Phil Yang , "dev@dpdk.org" , "david.marchand@redhat.com" , "Hunt, David" CC: "Ruifeng.Wang@arm.com" , "Honnappa.Nagarahalli@arm.com" , "nd@arm.com" Thread-Topic: [PATCH v3 2/4] bbdev: use C11 atomic builtins for device processing counter Thread-Index: AQHWkjUuj1rN4CLbJEaGEXaS2pDbu6l4Vxjw Date: Thu, 24 Sep 2020 22:01:51 +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: <1600925968-18278-3-git-send-email-phil.yang@arm.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: 51671815-1f6a-486d-94b3-08d860d5710b x-ms-traffictypediagnostic: BY5PR11MB4404: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y6D4cPaivag6RGhCT37K5vSPEpVEsx91KtmVqxhPG4RibTRsm/TT1hOwf9c6unKdXYmtrQH38XP9ntDWuIcUJHWQxDRVvQ246HWVUWbq1p/51S92Xwxr3AISn4fCaWc7kMjwJPD4srahPekutgxYvzRxo8xL0jnS35GQbs5HCyz7SHuZ96L0Iwx4LYHPGYnwmR3aBokBofUUyPca7vBo8BuU0Fb/ASbU2xcxSyXAiLvxFMIImzXTdFDrk89Sy5XpgAkEOxTcrN6YhYksDuwZur17k5tWgq50j/r8f//Jx5ftK2K7+VelVr2I8Hq2rDrR7qHAt2mdxYYhBESNrUs4uH6+ebyMgc4EAcAOMZjIw6CcacSMPoHbNIcprdCEQs3/ 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)(366004)(136003)(396003)(39860400002)(376002)(346002)(186003)(8676002)(7696005)(2906002)(316002)(6636002)(54906003)(110136005)(66446008)(53546011)(64756008)(478600001)(4326008)(76116006)(9686003)(66946007)(26005)(55016002)(33656002)(6506007)(66476007)(66556008)(8936002)(83380400001)(5660300002)(71200400001)(52536014)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: pqoripFWMt341E0yEL7vILScMCxvY8TPulcz1sBokFXx2ZuZS5tjyXMaH868GbjP2u5LkeXJ66aytmi3deNS3rlYjRCqOwP3YMj2DRUz4kRfNSkxHod+iPi0WT40tH2Nbli4rxRJmRxWWukZjU76LGuoLP1Q6wCIeDv3WOSzsLDz0r73c7GoMiv4KdER7zMThN5KHVKIOZFrlwFEv+DSH3LGRAQovrAJ86K77jjgDMFQbAJU11O0gApeRjZWqOHLUPGVew9GfZBHAvtoijPxVcrpfK6rboVbF28xbkIqU7JI9TTp81cZn1hR9TR8en5sIQ8VJOSE3eV4PhVRSg5253rv53yOjqj+SBtt8JZYCSQ0s1jSo2DxJCJafCw7oXGA+LreP0nvgbzqlPEDQCr3Mr+4upJKaePCccPAQDsLbqCqW8atjFlAdAN+NrAdss13c0pk6JTgbJBsTbcFw3A11DpiTNsf7NNTi02cGfXXQTpr9THd1gKAvHHgvBYbtB4wfWIIi21nd80fNA8Xeh3CDGeqFgaaKmxhaG+BFWTPZyY/o2AnifJ+tt0PTOqkmoSARt6HoNHB1r4FbTp5dmViDnkxyLD7IbSs1FSZMiGGg1/ux6lWdHW3D06B+fajlANnbqQ/qm0x5RLkoez1qaQqqg== 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: 51671815-1f6a-486d-94b3-08d860d5710b X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2020 22:01:51.2820 (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: Knt5SqucB3Easx33Bc4fGhmHEA5QkGDpREokrhBMNJFBG8QBY5PHMDDgtpiwMtKPJhF5UC511esOcgIeKCZIzNrX04qUOaeJOh/XIVmzHOk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4404 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Phil,=20 Na=EFve question but the deprecation document was stating that "DPDK will a= dopt C11 atomic operations semantics and provide wrappers using C11 atomic = built-ins." Here you are using directly the C11 atomic built-ins and not providing and = using a DPDK wrapper.=20 Wasn't the intent to have a new rte_... wrapper here? Ie. the same way as t= he __sync_fetch_and_add() were called before behind the rte_atomicNN_XX wra= pper.=20 Thanks Nic > -----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 process= ing > counter >=20 > Since rte_atomicXX APIs are not allowed to be used, use C11 atomic builti= ns > for device processing counter. >=20 > 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(-) >=20 > 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; > } >=20 > - 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; >=20 > @@ -252,7 +252,8 @@ rte_bbdev_release(struct rte_bbdev *bbdev) > } >=20 > /* 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)); >=20 > 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 >=20 > #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 */ > }; >=20 > /* Forward declarations */ > -- > 2.7.4