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

From: Sahil Chandna

Date: Fri Oct 30 2026 - 00:38:13 EST


On Thu, Oct 29, 2026 at 12:31:09AM -0700, Ankur Arora wrote:
>
> Sahil Chandna <sahilchandna@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx>
>
> Thanks Sahil. That's very helpful. Btw what's the (-S) option with
> in your first heading?
>
Hi Ankur,

This is the -Select Only option running one statement per transaction,
more info captured in [1] [2].

TPC_B like runs small bank transfer transaction.
> Just to double check: was the VM created with any special option
> such as kvm-arm.wfe_trap_policy?
>
No, the host in my case is Hyper-V. The cmdline does not have any idle
related parameters.
console=tty1 console=ttyAMA0 earlycon=pl011,0xeffec000 panic=-1
> --
> ankur
>
Regards,
Sahil

[1] https://www.postgresql.org/docs/16/pgbench.html#PGBENCH-OPTION-SELECT-ONLY
[2] https://www.postgresql.org/docs/16/pgbench.html#TRANSACTIONS-AND-SCRIPTS