From: Bruce Richardson <bruce.richardson@intel.com>
To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Cc: "thomas@monjalon.net" <thomas@monjalon.net>,
Ruifeng Wang <Ruifeng.Wang@arm.com>,
David Marchand <david.marchand@redhat.com>, dev <dev@dpdk.org>,
"jerinj@marvell.com" <jerinj@marvell.com>, nd <nd@arm.com>
Subject: Re: [dpdk-dev] Use WFE for spinlock and ring
Date: Fri, 30 Apr 2021 15:19:05 +0100 [thread overview]
Message-ID: <YIwR2S6BCGntBKPd@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <DBAPR08MB5814D016A6A89B65EB69B5CB985E9@DBAPR08MB5814.eurprd08.prod.outlook.com>
On Fri, Apr 30, 2021 at 01:41:22PM +0000, Honnappa Nagarahalli wrote:
> <snip>
>
> > > > > > > >
> > > > > > > > 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.
> > > > > > > > With the wait until equal APIs being stable, changes will not impact
> > ABI.
> > > > > > >
> > > > > > > Afaics, there is no ARM target with WFE enabled and we lost
> > > > > > > ability to enable WFE support with removal of the make build
> > system.
> > > > > >
> > > > > > WFE can be enabled with direct meson file change.
> > > > > > WFE is not intended to be enabled by default. It can be enabled
> > > > > > based on benchmarking result on hardware.
> > > > > > >
> > > > > > > $ git grep RTE_ARM_USE_WFE
> > > > > > > config/arm/meson.build: ['RTE_ARM_USE_WFE', false],
> > > > > > > lib/eal/arm/include/rte_pause_64.h:#ifdef RTE_ARM_USE_WFE
> > > > > > >
> > > > > > > How did you enable WFE to test this series?
> > > > > >
> > > > > > I modified meson file to test.
> > > > > > Tests were also done with WFE disabled to make sure no
> > > > > > degradation with
> > > > > generic implementation.
> > > > >
> > > > > I don't understand the usage.
> > > > > Which platform should use it?
> > > >
> > > > Platforms that implement WFE semantic (e.g. N1) can use.
> > > > The user can enable this feature for power efficiency purpose. But
> > > > there is something to note as described in commit message 1be7855d77
> > when the API was introduced.
> > > >
> > > > > Should it be a compile-time option?
> > > >
> > > > Yes, it should be a compile-time option.
> > > > It can be configured via c_args meson option?
> > >
> > > +Cc Bruce for discussing how to enable such feature.
> > >
> > > The problem with c_args is that the application has no way to know.
> > >
> > Agree about c_args not being a great choice. Why does this need to be a
> > compile-time option? Can runtime support not be detected in some
> > manner?
> The problem is inconsistency in performance on different Arm platforms. We had decided that each platform needs to enable it after some testing.
Then it sounds like it does indeed need to be a build option. Does it need
to be added to the meson_options.txt, or can it just be specified in
cross-files and optionally via c_args?
next prev parent reply other threads:[~2021-04-30 14:19 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-24 7:07 [dpdk-dev] [PATCH v1 0/2] " Gavin Hu
2020-04-24 7:07 ` [dpdk-dev] [PATCH v1 1/2] spinlock: use wfe to reduce contention on aarch64 Gavin Hu
2020-04-24 7:07 ` [dpdk-dev] [PATCH v1 2/2] ring: use wfe to wait for ring tail update " Gavin Hu
2020-04-24 13:23 ` Ananyev, Konstantin
2020-04-26 8:41 ` Gavin Hu
2020-04-24 14:46 ` Honnappa Nagarahalli
2020-04-26 8:33 ` Gavin Hu
2020-04-26 8:39 ` [dpdk-dev] [PATCH v2 0/2] Use WFE for spinlock and ring Gavin Hu
2020-05-01 9:47 ` Ananyev, Konstantin
2020-05-03 14:54 ` David Marchand
2020-05-03 21:31 ` Honnappa Nagarahalli
2020-09-25 14:30 ` David Marchand
2021-03-25 14:58 ` David Marchand
2021-04-25 6:06 ` Ruifeng Wang
2021-04-25 15:56 ` Thomas Monjalon
2020-04-26 8:39 ` [dpdk-dev] [PATCH v2 1/2] spinlock: use wfe to reduce contention on aarch64 Gavin Hu
2020-04-28 12:22 ` Jerin Jacob
2020-04-26 8:39 ` [dpdk-dev] [PATCH v2 2/2] ring: use wfe to wait for ring tail update " Gavin Hu
2021-04-25 5:56 ` [dpdk-dev] Use WFE for spinlock and ring Ruifeng Wang
2021-04-25 5:56 ` [dpdk-dev] [PATCH v3 1/2] spinlock: use wfe to reduce contention on aarch64 Ruifeng Wang
2021-04-25 5:56 ` [dpdk-dev] [PATCH v3 2/2] ring: use wfe to wait for ring tail update " Ruifeng Wang
2021-04-26 5:38 ` Jerin Jacob
2021-04-28 17:17 ` Stephen Hemminger
2021-04-29 14:35 ` Ruifeng Wang
2021-04-29 15:05 ` Stephen Hemminger
2021-05-07 8:25 ` Ruifeng Wang
2021-04-28 7:42 ` [dpdk-dev] Use WFE for spinlock and ring David Marchand
2021-04-28 9:30 ` Ruifeng Wang
2021-04-28 11:13 ` Thomas Monjalon
2021-04-29 14:28 ` Ruifeng Wang
2021-04-29 15:20 ` Thomas Monjalon
2021-04-30 9:16 ` Bruce Richardson
2021-04-30 13:41 ` Honnappa Nagarahalli
2021-04-30 14:19 ` Bruce Richardson [this message]
2021-05-07 10:18 ` Ruifeng Wang
2021-05-07 10:24 ` Bruce Richardson
2021-07-05 8:51 ` David Marchand
2021-07-05 10:21 ` Ruifeng Wang
2021-07-07 14:47 ` Stephen Hemminger
2021-07-08 9:41 ` Ruifeng Wang
2021-07-08 16:58 ` Honnappa Nagarahalli
2021-07-07 5:43 ` [dpdk-dev] [PATCH v4 0/3] " Ruifeng Wang
2021-07-07 5:43 ` [dpdk-dev] [PATCH v4 1/3] spinlock: use wfe to reduce contention on aarch64 Ruifeng Wang
2021-07-07 5:43 ` [dpdk-dev] [PATCH v4 2/3] ring: use wfe to wait for ring tail update " Ruifeng Wang
2021-07-07 5:43 ` [dpdk-dev] [PATCH v4 3/3] build: add option to enable wait until equal Ruifeng Wang
2021-07-07 12:15 ` David Marchand
2021-07-07 5:48 ` [dpdk-dev] [PATCH v4 0/3] Use WFE for spinlock and ring Ruifeng Wang
2021-07-07 5:48 ` [dpdk-dev] [PATCH v4 1/3] spinlock: use wfe to reduce contention on aarch64 Ruifeng Wang
2021-07-07 5:48 ` [dpdk-dev] [PATCH v4 2/3] ring: use wfe to wait for ring tail update " Ruifeng Wang
2021-07-07 5:48 ` [dpdk-dev] [PATCH v4 3/3] build: add option to enable wait until equal Ruifeng Wang
2021-07-07 6:32 ` Thomas Monjalon
2021-07-07 6:46 ` Ruifeng Wang
2021-07-07 12:27 ` Bruce Richardson
2021-07-07 12:36 ` Jerin Jacob
2021-07-08 6:25 ` Ruifeng Wang
2021-07-08 6:32 ` Jerin Jacob
2021-07-08 7:32 ` Thomas Monjalon
2021-07-08 9:21 ` Ruifeng Wang
2021-07-08 10:28 ` Thomas Monjalon
2021-07-09 18:39 ` [dpdk-dev] [PATCH v4 0/3] Use WFE for spinlock and ring Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YIwR2S6BCGntBKPd@bricha3-MOBL.ger.corp.intel.com \
--to=bruce.richardson@intel.com \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=Ruifeng.Wang@arm.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=nd@arm.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).