Message ID | 20200426083909.897-1-gavin.hu@arm.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E6E6CA00C5; Sun, 26 Apr 2020 10:39:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2AEC41C010; Sun, 26 Apr 2020 10:39:22 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id C1B091C00D for <dev@dpdk.org>; Sun, 26 Apr 2020 10:39:20 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3B56A31B; Sun, 26 Apr 2020 01:39:20 -0700 (PDT) Received: from net-arm-thunderx2-01.shanghai.arm.com (net-arm-thunderx2-01.shanghai.arm.com [10.169.41.214]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B87563F6CF; Sun, 26 Apr 2020 01:39:17 -0700 (PDT) From: Gavin Hu <gavin.hu@arm.com> To: dev@dpdk.org Cc: nd@arm.com, david.marchand@redhat.com, thomas@monjalon.net, jerinj@marvell.com, Honnappa.Nagarahalli@arm.com, Ruifeng.Wang@arm.com, Phil.Yang@arm.com, Joyce.Kong@arm.com Date: Sun, 26 Apr 2020 16:39:07 +0800 Message-Id: <20200426083909.897-1-gavin.hu@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200424070741.16619-1-gavin.hu@arm.com> References: <20200424070741.16619-1-gavin.hu@arm.com> Subject: [dpdk-dev] [PATCH v2 0/2] Use WFE for spinlock and ring 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> |
Series |
Use WFE for spinlock and ring
|
|
Message
Gavin Hu
April 26, 2020, 8:39 a.m. UTC
The rte_wait_until_equal_xxx APIs abstract the functionality of 'polling for a memory location to become equal to a given value'[1]. Use the API for the rte spinlock and ring implementations. [1] http://patches.dpdk.org/cover/62703/ Gavin Hu (2): spinlock: use wfe to reduce contention on aarch64 ring: use wfe to wait for ring tail update on aarch64 lib/librte_eal/include/generic/rte_spinlock.h | 4 ++-- lib/librte_ring/rte_ring_c11_mem.h | 4 ++-- lib/librte_ring/rte_ring_generic.h | 3 +-- 3 files changed, 5 insertions(+), 6 deletions(-)
Comments
> > The rte_wait_until_equal_xxx APIs abstract the functionality of 'polling > for a memory location to become equal to a given value'[1]. > > Use the API for the rte spinlock and ring implementations. > > [1] http://patches.dpdk.org/cover/62703/ > > Gavin Hu (2): > spinlock: use wfe to reduce contention on aarch64 > ring: use wfe to wait for ring tail update on aarch64 > > lib/librte_eal/include/generic/rte_spinlock.h | 4 ++-- > lib/librte_ring/rte_ring_c11_mem.h | 4 ++-- > lib/librte_ring/rte_ring_generic.h | 3 +-- > 3 files changed, 5 insertions(+), 6 deletions(-) > Series Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> > -- > 2.17.1
On Sun, Apr 26, 2020 at 10:39 AM Gavin Hu <gavin.hu@arm.com> wrote: > > The rte_wait_until_equal_xxx APIs abstract the functionality of 'polling > for a memory location to become equal to a given value'[1]. > > Use the API for the rte spinlock and ring implementations. > > [1] http://patches.dpdk.org/cover/62703/ > > Gavin Hu (2): > spinlock: use wfe to reduce contention on aarch64 > ring: use wfe to wait for ring tail update on aarch64 This would result in rte_ring and rte_spinlock APIs becoming experimental and this breaks compilation for external applications using stable ring and spinlock APIs. IIRC, it was the reason why these patches were dropped with the introduction of the rte_wait_until_equal_* API.
<snip> > Subject: Re: [PATCH v2 0/2] Use WFE for spinlock and ring > > On Sun, Apr 26, 2020 at 10:39 AM Gavin Hu <gavin.hu@arm.com> wrote: > > > > The rte_wait_until_equal_xxx APIs abstract the functionality of > > 'polling for a memory location to become equal to a given value'[1]. > > > > Use the API for the rte spinlock and ring implementations. > > > > [1] http://patches.dpdk.org/cover/62703/ > > > > Gavin Hu (2): > > spinlock: use wfe to reduce contention on aarch64 > > ring: use wfe to wait for ring tail update on aarch64 > > This would result in rte_ring and rte_spinlock APIs becoming experimental > and this breaks compilation for external applications using stable ring and > spinlock APIs. > IIRC, it was the reason why these patches were dropped with the introduction > of the rte_wait_until_equal_* API. Agreed, the rte_ring new sync modes are resulting in different use cases for these APIs. We need to take a relook at the APIs. > > > -- > David Marchand
Hello Honnappa, On Sun, May 3, 2020 at 11:32 PM Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> wrote: > > <snip> > > > Subject: Re: [PATCH v2 0/2] Use WFE for spinlock and ring > > > > On Sun, Apr 26, 2020 at 10:39 AM Gavin Hu <gavin.hu@arm.com> wrote: > > > > > > The rte_wait_until_equal_xxx APIs abstract the functionality of > > > 'polling for a memory location to become equal to a given value'[1]. > > > > > > Use the API for the rte spinlock and ring implementations. > > > > > > [1] http://patches.dpdk.org/cover/62703/ > > > > > > Gavin Hu (2): > > > spinlock: use wfe to reduce contention on aarch64 > > > ring: use wfe to wait for ring tail update on aarch64 > > > > This would result in rte_ring and rte_spinlock APIs becoming experimental > > and this breaks compilation for external applications using stable ring and > > spinlock APIs. > > IIRC, it was the reason why these patches were dropped with the introduction > > of the rte_wait_until_equal_* API. > Agreed, the rte_ring new sync modes are resulting in different use cases for these APIs. We need to take a relook at the APIs. Will we reconsider this series now that the wait until equal is going stable?
Hello, On Fri, Sep 25, 2020 at 4:30 PM David Marchand <david.marchand@redhat.com> wrote: > > Hello Honnappa, > > On Sun, May 3, 2020 at 11:32 PM Honnappa Nagarahalli > <Honnappa.Nagarahalli@arm.com> wrote: > > > > <snip> > > > > > Subject: Re: [PATCH v2 0/2] Use WFE for spinlock and ring > > > > > > On Sun, Apr 26, 2020 at 10:39 AM Gavin Hu <gavin.hu@arm.com> wrote: > > > > > > > > The rte_wait_until_equal_xxx APIs abstract the functionality of > > > > 'polling for a memory location to become equal to a given value'[1]. > > > > > > > > Use the API for the rte spinlock and ring implementations. > > > > > > > > [1] http://patches.dpdk.org/cover/62703/ > > > > > > > > Gavin Hu (2): > > > > spinlock: use wfe to reduce contention on aarch64 > > > > ring: use wfe to wait for ring tail update on aarch64 > > > > > > This would result in rte_ring and rte_spinlock APIs becoming experimental > > > and this breaks compilation for external applications using stable ring and > > > spinlock APIs. > > > IIRC, it was the reason why these patches were dropped with the introduction > > > of the rte_wait_until_equal_* API. > > Agreed, the rte_ring new sync modes are resulting in different use cases for these APIs. We need to take a relook at the APIs. > > Will we reconsider this series now that the wait until equal is going stable? Any update? I suppose this would need some rebasing after the ring library changes. Thanks.
> -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Thursday, March 25, 2021 10:58 PM > To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> > Cc: dev <dev@dpdk.org>; nd <nd@arm.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>; Ananyev, > Konstantin <konstantin.ananyev@intel.com> > Subject: Re: [dpdk-dev] [PATCH v2 0/2] Use WFE for spinlock and ring > > Hello, > > On Fri, Sep 25, 2020 at 4:30 PM David Marchand > <david.marchand@redhat.com> wrote: > > > > Hello Honnappa, > > > > On Sun, May 3, 2020 at 11:32 PM Honnappa Nagarahalli > > <Honnappa.Nagarahalli@arm.com> wrote: > > > > > > <snip> > > > > > > > Subject: Re: [PATCH v2 0/2] Use WFE for spinlock and ring > > > > > > > > On Sun, Apr 26, 2020 at 10:39 AM Gavin Hu <gavin.hu@arm.com> wrote: > > > > > > > > > > The rte_wait_until_equal_xxx APIs abstract the functionality of > > > > > 'polling for a memory location to become equal to a given value'[1]. > > > > > > > > > > Use the API for the rte spinlock and ring implementations. > > > > > > > > > > [1] http://patches.dpdk.org/cover/62703/ > > > > > > > > > > Gavin Hu (2): > > > > > spinlock: use wfe to reduce contention on aarch64 > > > > > ring: use wfe to wait for ring tail update on aarch64 > > > > > > > > This would result in rte_ring and rte_spinlock APIs becoming > > > > experimental and this breaks compilation for external applications > > > > using stable ring and spinlock APIs. > > > > IIRC, it was the reason why these patches were dropped with the > > > > introduction of the rte_wait_until_equal_* API. > > > Agreed, the rte_ring new sync modes are resulting in different use cases > for these APIs. We need to take a relook at the APIs. > > > > Will we reconsider this series now that the wait until equal is going stable? > > Any update? > I suppose this would need some rebasing after the ring library changes. Sorry for the late response. This series has been rebased and v3 posted. I have problem to mark v2 as superseded. Thank you. > > Thanks. > > > -- > David Marchand
Ruifeng Wang: > From: David Marchand <david.marchand@redhat.com> > > Any update? > > I suppose this would need some rebasing after the ring library changes. > > Sorry for the late response. > This series has been rebased and v3 posted. > I have problem to mark v2 as superseded. I did change v2 as superseded.