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 05C68A00C5;
	Sun, 26 Apr 2020 10:33:45 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id D44051C01F;
	Sun, 26 Apr 2020 10:33:44 +0200 (CEST)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2080.outbound.protection.outlook.com [40.107.22.80])
 by dpdk.org (Postfix) with ESMTP id D07111BFEF
 for <dev@dpdk.org>; Sun, 26 Apr 2020 10:33:43 +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=beVIbGAJmIj0tM0+KCdKKZ1Ils4LhXrgsrwUX3ZOi2o=;
 b=WEdRe4z2sYnNLO/kLBJuVqatrgQWl/S1LyaSV8qVQZyqFVu5qGi+co6AdC47YGAH6+kiuFIoRzmEHaNdAzGNqC9sGvqQyaTHbDW8oZm81diqq6Blf1eqWFpcAAqHWalawyIyl0z2NnByg1JHTNbhTRNCpSHRpppfyzgdXLmX27E=
Received: from AM7PR04CA0019.eurprd04.prod.outlook.com (2603:10a6:20b:110::29)
 by AM6SPR01MB08.eurprd08.prod.outlook.com (2603:10a6:209:1f::26) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Sun, 26 Apr
 2020 08:33:42 +0000
Received: from VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:110:cafe::64) by AM7PR04CA0019.outlook.office365.com
 (2603:10a6:20b:110::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13 via Frontend
 Transport; Sun, 26 Apr 2020 08:33:42 +0000
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
 VE1EUR03FT037.mail.protection.outlook.com (10.152.19.70) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2937.19 via Frontend Transport; Sun, 26 Apr 2020 08:33:41 +0000
Received: ("Tessian outbound e88319d7ccd0:v54");
 Sun, 26 Apr 2020 08:33:41 +0000
X-CR-MTA-TID: 64aa7808
Received: from f461edd5bd65.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D4E9A82A-5615-47A1-B6A7-2D1E4E586F0C.1; 
 Sun, 26 Apr 2020 08:33:36 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f461edd5bd65.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sun, 26 Apr 2020 08:33:36 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HJRhqDbydYKJ7oiMHGUiceIdIQ01/X73p9ZmGpl4tFhan2t8oJMbSzVIRI9HZOTfmfDOEsCfFAJ9QCoLF6Q/B4Nwe96SNkbB8JVtJdHF/WKYCe1crn5RFB4aA+jadpFXpRsL6HXmTotuAYuCdih7SH58MWI8VAMRXQ8lFjRq7mC9f0H32b/wPE31B+baHi4IH+rnCuN6JHbyMq9rdR10fYZp8SfmqGZEYSUuzkelNk9Xzm9Z5y9wUAWMNrjXx6inPp80WIDGN+Haa2UK9fWFyadX9KMhFHjvBKx+GEHb8T7oC5WYiAINovJSuCgMO3LTlI+zeXiXI2uZW4x3grB2dw==
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=beVIbGAJmIj0tM0+KCdKKZ1Ils4LhXrgsrwUX3ZOi2o=;
 b=lVhVYGMIAcl7o11ztRnxZKuG4no61UaYIs4qsfmxSWBkMOIapejQNPP1+YKu0lkQ4hemCbzkgev12v7rzbobBVtBGh0RxzACqKEnQz55XZ7SceSGPZrDqLAkhj8jqaq2NzoRIYO8KompNVocaXHgAawYnMrMREtiDYt/BvSemElDrLvlYMjUW23KgEL3A/nrg1+KqFuO1gd9usYtzP0xY5lEsSl7oheadNToO/seGwUR4MEAvKTDbuYPK8jcmZLYoG1mjkehcVDJVYgbvxMCXmOtNhV8fFK3ec0U8XnwAD767BhCAcq1xrxTW9uzDXMWoC9NJdFvqNS70A7g29hzzw==
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=beVIbGAJmIj0tM0+KCdKKZ1Ils4LhXrgsrwUX3ZOi2o=;
 b=WEdRe4z2sYnNLO/kLBJuVqatrgQWl/S1LyaSV8qVQZyqFVu5qGi+co6AdC47YGAH6+kiuFIoRzmEHaNdAzGNqC9sGvqQyaTHbDW8oZm81diqq6Blf1eqWFpcAAqHWalawyIyl0z2NnByg1JHTNbhTRNCpSHRpppfyzgdXLmX27E=
Received: from VI1PR08MB5376.eurprd08.prod.outlook.com (2603:10a6:803:13e::15)
 by VI1PR08MB3437.eurprd08.prod.outlook.com (2603:10a6:803:7e::32)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Sun, 26 Apr
 2020 08:33:34 +0000
Received: from VI1PR08MB5376.eurprd08.prod.outlook.com
 ([fe80::a0e2:2a9f:be7b:4b15]) by VI1PR08MB5376.eurprd08.prod.outlook.com
 ([fe80::a0e2:2a9f:be7b:4b15%3]) with mapi id 15.20.2937.020; Sun, 26 Apr 2020
 08:33:34 +0000
From: Gavin Hu <Gavin.Hu@arm.com>
To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, "dev@dpdk.org"
 <dev@dpdk.org>
CC: nd <nd@arm.com>, "david.marchand@redhat.com" <david.marchand@redhat.com>, 
 "thomas@monjalon.net" <thomas@monjalon.net>, "jerinj@marvell.com"
 <jerinj@marvell.com>, Ruifeng Wang <Ruifeng.Wang@arm.com>, Phil Yang
 <Phil.Yang@arm.com>, Joyce Kong <Joyce.Kong@arm.com>, nd <nd@arm.com>, nd
 <nd@arm.com>
Thread-Topic: [PATCH v1 2/2] ring: use wfe to wait for ring tail update on
 aarch64
Thread-Index: AQHWGkcZOdPadeLh6EKmtuDDSBSmCKiKsybg
Date: Sun, 26 Apr 2020 08:33:34 +0000
Message-ID: <VI1PR08MB5376E59AAB1FD38E6A8355098FAE0@VI1PR08MB5376.eurprd08.prod.outlook.com>
References: <20200424070741.16619-1-gavin.hu@arm.com>
 <20200424070741.16619-3-gavin.hu@arm.com>
 <DBBPR08MB464637EF37AF3581DA8C5D3498D00@DBBPR08MB4646.eurprd08.prod.outlook.com>
In-Reply-To: <DBBPR08MB464637EF37AF3581DA8C5D3498D00@DBBPR08MB4646.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ts-tracking-id: 179ce1fc-8b67-4b76-ad3f-713f589e0b45.0
x-checkrecipientchecked: true
Authentication-Results-Original: spf=none (sender IP is )
 smtp.mailfrom=Gavin.Hu@arm.com; 
x-originating-ip: [113.29.88.7]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: c928eb8b-409b-4834-5fa8-08d7e9bc86b8
x-ms-traffictypediagnostic: VI1PR08MB3437:|VI1PR08MB3437:|AM6SPR01MB08:
x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <AM6SPR01MB08248C3B5284362F28DE118FAE0@AM6SPR01MB08.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508;
x-forefront-prvs: 03853D523D
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en;
 SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5376.eurprd08.prod.outlook.com;
 PTR:; CAT:NONE; SFTY:;
 SFS:(4636009)(396003)(376002)(39860400002)(346002)(366004)(136003)(64756008)(5660300002)(76116006)(66556008)(66446008)(6506007)(53546011)(66476007)(55236004)(26005)(66946007)(316002)(71200400001)(33656002)(54906003)(52536014)(110136005)(81156014)(8936002)(86362001)(9686003)(186003)(55016002)(2906002)(4326008)(15650500001)(8676002)(478600001)(7696005);
 DIR:OUT; SFP:1101; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: RItOZiZMN0PXghvdu3cJxpAe5p9Ox8BHOFbm+mjR9RIGzBLJh5+knW3921VYzYCNoFcDA7E89gqD3m3mzeLnjyJ1QKI1/TNDU2IeHI1FyN7K8/MyKz7nyVGAF/Zz7E/EazbKtY5GVxyHth+XNuCtib3ETUv52zfxoulIrvtpNHq+lcOKZe0lNhC4eItZkH77fjrvNEdcMHQOztjoTLtuXJ4jOCyXCepnMYASgGHQGUESphSClNm+87lUlonKt1cLYkw7/9bNX6u4C2NzTnwWoffIXVfBCqetu7W3btMeWMzhThwqlq8KcxjqzO5e9VmL1/SSuM6AVFJwe1Ui332fhS++Ybgao+xzTtulJRzmYhz53Hnp31C6E+2gm93D7cel8N+YL03kYmkhApmhWovCEOc+YbUVJdr1Mq1Og7MxkyChkfQTEt5wvbvDO4ShtKe9
x-ms-exchange-antispam-messagedata: sVU2ZzMXooHeDBfCeIwpKVZ4FQ03ymIcJFBzfyXOl7Qux2sQZfJ2XwuQKLX5qPeG0AsoxxnFT0bP/f7HmpD4opsE9ohsn13uSTAnVXzEg/oEokFZhK/8fT3J8a4gLHoUrwOOHlLdjeygzQgZDJOPiyFCx2BfkHG9oM+i8Xf//Snj3YqTKia90DhTaC+RuNRqDy1baXlWluZewk39Q0jMoKi9LHRssVnAM4ZcUKqrAsKu9vXWqJNqpU7DMoLX1KgIhBeKVOJLhx9Ht16YZy/iLTGVsEQkAdmulRsol0nHCk43uYrBF/nYxmdfqjex9PCPnq7OFZK0PdxDcO90TQhoL6hV7TVQituKCcDwWN/+5jELND37vKtoQSSaDC3XnNp1LSJCGPRy3h0xzEMmD7lNvhG9UBBVtcxG2C1hq49JHqpMJr6hbTMdj8EoFi/Lw4t+4Yr5m95F4jAsoiJTLe22FfeJkaA0M90EX6Z7h0ws8hW6+KRX7vFuafMnASdQfYQd4Kw0bQ2D39qRLnp8vjslWVDd9neqFYGmWSfCQRuR/Bg2RxryOdxP/yOZbkdgPWXIdcv4+HrmYUch8nUdwSmK8Ep7kz/htrscOI2LZOjZ6Ed28/kIGNHtq82SptiYA20PDPWvhwZOFMwcyNhaVdbatEI7VBq8Yk5gkR7lusd1dwrTer7XSj8gPfLuI0wkgl/omH2y2DaJa6bpV2lEDmec3UWv9HCrdQn8mARpoOd0NgkWLMMbBT+ixOB2l2rwV+Re83xfHWzrbN1b3gxThYp4SObNh0cuNAkZ2bqjb2j2gGk=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3437
Original-Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Gavin.Hu@arm.com; 
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT037.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:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:;
 SFS:(4636009)(396003)(376002)(136003)(346002)(39860400002)(46966005)(52536014)(478600001)(82740400003)(47076004)(15650500001)(186003)(4326008)(86362001)(9686003)(55016002)(5660300002)(33656002)(26005)(336012)(70586007)(70206006)(2906002)(54906003)(316002)(36906005)(110136005)(7696005)(356005)(53546011)(6506007)(81166007)(81156014)(82310400002)(8676002)(8936002);
 DIR:OUT; SFP:1101; 
X-MS-Office365-Filtering-Correlation-Id-Prvs: d643b1b7-a2e6-4545-5c5b-08d7e9bc824f
X-Forefront-PRVS: 03853D523D
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: pOEzFV8dVBHtYa4t3/jb1u6e9LRTMrY4CGUn0/G3YP1CvcI5xZQPUDPnrL7j9fO3qGFAAoWO6KLFwKJSJlMhBKBNfAVfDXzd3OHFmOSQIVkFcLaUHH0Yst3eugVDg0f2s69LqDgfA5UAg8pU0RPOPv9uVDChj8JkGJR+nCQYujdJowAI7YCm/skwIiTBmH0E5d9zY4viNuylFP+VLtTyS8p3IawGCYE7l2H51It201vArPp4mmKlmr/z8W7OR17Gul2+9DVdHJCoeJJkjwN3c5g4qVeRrIDb4poT8V6wXb2WCyjfPWmekWljg/xRZDv8hxx9+H+54MA2QcEWfqdDb+Fvx5O6G49fb3nkh6bjtWHZ6/OvgHkpwJWkDb8O1y16mKVZZax5Il3D8l6UYhQFppRn/onD9sLrfUZqukpxPDedvkYQKGzw6eu0rjSq/AQXovFwi2LHR8gIyqlLqRdbRUDJQXjNsKedmz1xxn1FrtjJ1Ldv2JyKzwThMqQXW0gszvz480KoXwkySQ+V7DLwkg==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2020 08:33:41.8488 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c928eb8b-409b-4834-5fa8-08d7e9bc86b8
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-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6SPR01MB08
Subject: Re: [dpdk-dev] [PATCH v1 2/2] ring: use wfe to wait for ring tail
 update on aarch64
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>

Hi Honnappa,

> -----Original Message-----
> From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Sent: Friday, April 24, 2020 10:46 PM
> To: Gavin Hu <Gavin.Hu@arm.com>; dev@dpdk.org
> Cc: nd <nd@arm.com>; david.marchand@redhat.com;
> thomas@monjalon.net; jerinj@marvell.com; Ruifeng Wang
> <Ruifeng.Wang@arm.com>; Phil Yang <Phil.Yang@arm.com>; Joyce Kong
> <Joyce.Kong@arm.com>; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; nd <nd@arm.com>
> Subject: RE: [PATCH v1 2/2] ring: use wfe to wait for ring tail update on
> aarch64
>=20
> <snip>
>=20
> Hi Gavin,
> 	There are other sync modes added to rte_ring library. Can you
> please extend this to other rte_pause() calls in the library?
I looked into the other two calls to rte_cause, they can't use the rte_wait=
_until_equal_XX APIs simply.
Maybe new APIs are required?=20
Here is the 32-bit API for your reference:
rte_wait_until_equal_32(volatile uint32_t *addr, uint32_t expected, int mem=
order)
>=20
> Thanks,
> Honnappa
>=20
> > Subject: [PATCH v1 2/2] ring: use wfe to wait for ring tail update on
> aarch64
> >
> > Instead of polling for tail to be updated, use wfe instruction.
> >
> > Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > Reviewed-by: Steve Capper <steve.capper@arm.com>
> > Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
> > Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> > ---
> >  lib/librte_ring/rte_ring_c11_mem.h | 4 ++--
> > lib/librte_ring/rte_ring_generic.h | 3 +--
> >  2 files changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/lib/librte_ring/rte_ring_c11_mem.h
> > b/lib/librte_ring/rte_ring_c11_mem.h
> > index 0fb73a337..764d8f186 100644
> > --- a/lib/librte_ring/rte_ring_c11_mem.h
> > +++ b/lib/librte_ring/rte_ring_c11_mem.h
> > @@ -2,6 +2,7 @@
> >   *
> >   * Copyright (c) 2017,2018 HXT-semitech Corporation.
> >   * Copyright (c) 2007-2009 Kip Macy kmacy@freebsd.org
> > + * Copyright (c) 2019 Arm Limited
> >   * All rights reserved.
> >   * Derived from FreeBSD's bufring.h
> >   * Used as BSD-3 Licensed with permission from Kip Macy.
> > @@ -21,8 +22,7 @@ update_tail(struct rte_ring_headtail *ht, uint32_t
> > old_val, uint32_t new_val,
> >  	 * we need to wait for them to complete
> >  	 */
> >  	if (!single)
> > -		while (unlikely(ht->tail !=3D old_val))
> > -			rte_pause();
> > +		rte_wait_until_equal_relaxed_32(&ht->tail, old_val);
> >
> >  	__atomic_store_n(&ht->tail, new_val, __ATOMIC_RELEASE);  } diff --
> > git a/lib/librte_ring/rte_ring_generic.h b/lib/librte_ring/rte_ring_gen=
eric.h
> > index 953cdbbd5..682852783 100644
> > --- a/lib/librte_ring/rte_ring_generic.h
> > +++ b/lib/librte_ring/rte_ring_generic.h
> > @@ -23,8 +23,7 @@ update_tail(struct rte_ring_headtail *ht, uint32_t
> > old_val, uint32_t new_val,
> >  	 * we need to wait for them to complete
> >  	 */
> >  	if (!single)
> > -		while (unlikely(ht->tail !=3D old_val))
> > -			rte_pause();
> > +		rte_wait_until_equal_relaxed_32(&ht->tail, old_val);
> >
> >  	ht->tail =3D new_val;
> >  }
> > --
> > 2.17.1