[dpdk-dev] [PATCH v7 02/10] eal: add power management intrinsics

Ruifeng Wang Ruifeng.Wang at arm.com
Fri Oct 16 10:44:20 CEST 2020


> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Thursday, October 15, 2020 9:17 PM
> To: Anatoly Burakov <anatoly.burakov at intel.com>; dev at dpdk.org; Ruifeng
> Wang <Ruifeng.Wang at arm.com>
> Cc: Liang Ma <liang.j.ma at intel.com>; Jan Viktorin
> <viktorin at rehivetech.com>; David Christensen <drc at linux.vnet.ibm.com>;
> Bruce Richardson <bruce.richardson at intel.com>; Konstantin Ananyev
> <konstantin.ananyev at intel.com>; david.hunt at intel.com;
> jerinjacobk at gmail.com; thomas at monjalon.net;
> timothy.mcdaniel at intel.com; gage.eads at intel.com;
> chris.macnamara at intel.com
> Subject: Re: [dpdk-dev] [PATCH v7 02/10] eal: add power management
> intrinsics
> 
> On 10/15/2020 1:04 PM, Anatoly Burakov wrote:
> > From: Liang Ma <liang.j.ma at intel.com>
> >
> > Add two new power management intrinsics, and provide an
> implementation
> > in eal/x86 based on UMONITOR/UMWAIT instructions. The instructions are
> > implemented as raw byte opcodes because there is not yet widespread
> > compiler support for these instructions.
> >
> > The power management instructions provide an architecture-specific
> > function to either wait until a specified TSC timestamp is reached, or
> > optionally wait until either a TSC timestamp is reached or a memory
> > location is written to. The monitor function also provides an optional
> > comparison, to avoid sleeping when the expected write has already
> > happened, and no more writes are expected.
> >
> > For more details, please refer to Intel(R) 64 and IA-32 Architectures
> > Software Developer's Manual, Volume 2.
> >
> > Signed-off-by: Liang Ma <liang.j.ma at intel.com>
> > Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
> > Acked-by: David Christensen <drc at linux.vnet.ibm.com>
> > ---
> >
> > Notes:
> >      v7:
> >      - Fix code style and other nitpicks (Konstantin)
> >      v6:
> >      - Add spinlock-enabled version to allow pthread-wait-like
> >        constructs with umwait
> >      - Clarify comments
> >      - Added experimental tags to intrinsics
> >      - Added endianness support
> >      v5:
> >      - Removed return values
> >      - Simplified intrinsics and hardcoded C0.2 state
> >      - Added other arch stubs
> >
> 
> Hi Ruifeng,
> 
> This is the patch we have talked in today's release status meeting, can you
> please check the patch from Arm perspective?
> Since the instructions are not supported by Arm I expect it should be OK but
> it would be good to get your ack to proceed.
> 
Thanks for pointing me to this.
Generally looks good to me.

Acked-by: Ruifeng Wang <ruifeng.wang at arm.com>
> Thanks,
> ferruh


More information about the dev mailing list