[PATCH v16 00/16] barrier: Add smp_cond_load_{relaxed,acquire}_timeout()

Ankur Arora ankur.a.arora at oracle.com
Thu Oct 29 00:31:09 PDT 2026


Sahil Chandna <sahilchandna at linux.microsoft.com> writes:

> On Fri, Oct 16, 2026 at 12:08:21AM -0700, Ankur Arora wrote:
>> Hi,
>>
>> Changes in this version address sashiko comments [17]. The major change
>> is the change in the exit path in __smp_cond_load_relaxed_timeout()
>> which allows us to simplify providing ACQUIRE semantics in
>> smp_cond_load_acquire_timeout():
>>
[ ... ]
>>
> Hi Ankur,
>
> I tested this patch series on an Azure Cobalt 100
> (neoverse-n2 on 64-vCPU Hyper-V guest (Standard_D64ps_v6),
> on v7.2.12 + this series + arm64 cpuidle-haltpoll enablement[1]
>
> cpuidle-haltpoll loaded with force=1, guest_halt_poll_ns=200000.
>
> Baseline: no cpuidle driver(only WFI).
>
> Workload: PostgreSQL 16.15/pgbench scale 100, client and server in
> the same VM over a unix socket, with single run:
>
>             with (-S)                         TPC-B-like r/w
> clients  base TPS  haltpoll lat avg   base TPS   haltpoll  lat avg
>    2       38658     +89%   52->27us     5299     +86%    378->203us
>    4       72987     +99%   55->28      10305     +87%    388->208
>   16      300895     +91%   53->28      42035     +83%    381->208
>   32      590987     +93%   55->28      78319     +85%    410->221
>   64      987749      +0%   65->65     130675      +3%    490->474
>
> Tested-by: Sahil Chandna <sahilchandna at linux.microsoft.com>

Thanks Sahil. That's very helpful. Btw what's the (-S) option with
in your first heading?

Just to double check: was the VM  created with any special option
such as kvm-arm.wfe_trap_policy?

--
ankur



More information about the linux-arm-kernel mailing list