Re: [PATCH v4 1/5] asm-generic: barrier: Add smp_cond_load_relaxed_timewait()
From: Catalin Marinas
Date: Mon Sep 01 2025 - 07:30:14 EST
On Fri, Aug 29, 2025 at 01:07:31AM -0700, Ankur Arora wrote:
> Add smp_cond_load_relaxed_timewait(), which extends
> smp_cond_load_relaxed() to allow waiting for a finite duration.
>
> The additional parameter allows for the timeout check.
>
> The waiting is done via the usual cpu_relax() spin-wait around the
> condition variable with periodic evaluation of the time-check.
>
> The number of times we spin is defined by SMP_TIMEWAIT_SPIN_COUNT
> (chosen to be 200 by default) which, assuming each cpu_relax()
> iteration takes around 20-30 cycles (measured on a variety of x86
> platforms), amounts to around 4000-6000 cycles.
>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: linux-arch@xxxxxxxxxxxxxxx
> Signed-off-by: Ankur Arora <ankur.a.arora@xxxxxxxxxx>
Apart from the name, this looks fine (I'd have preferred the "timeout"
suffix).
Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>