[dpdk-dev] Use WFE for spinlock and ring

Thomas Monjalon thomas at monjalon.net
Wed Apr 28 13:13:33 CEST 2021


28/04/2021 11:30, Ruifeng Wang:
> From: David Marchand <david.marchand at redhat.com>
> > On Sun, Apr 25, 2021 at 7:57 AM Ruifeng Wang <ruifeng.wang at 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.
> > > 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?
Should it be a compile-time option?




More information about the dev mailing list