Some reason my scripting missed rcu list for these last 2 patches. But they
are on the lkml list :) sorry.

Adding back rcu@.

On 7/18/2026 1:15 PM, Joel Fernandes wrote:
> Each scftorture_invoker() thread decrements n_started, which is
> initialized to the number of threads, and is then supposed to wait
> until all of its siblings have also checked in before starting the
> test proper.  However, the wait loop is guarded by
> !atomic_dec_return(&n_started), which is true only for the final
> thread to arrive, and by then n_started is already zero, so the
> final thread does not wait either.  The side-effect (possibly positive)
> is that no thread ever waits and the start-synchronization barrier is
> dead code, with early threads beginning to hammer smp_call_function*()
> while later threads are still being spawned.
> 
> Invert the test so that every thread other than the last spins until
> n_started reaches zero, making the threads start testing together as
> intended.  The existing torture_must_stop() check in the wait loop
> continues to bound the wait during shutdown.
> 
> We can also drop the spinning entirely if the intent is to leave it as
> dead code, however for the current intent, this patches fixes the code.
> 
> Signed-off-by: Joel Fernandes <[email protected]>
> ---
>  kernel/scftorture.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/scftorture.c b/kernel/scftorture.c
> index ffd6c83732ee..392df1b4d4ed 100644
> --- a/kernel/scftorture.c
> +++ b/kernel/scftorture.c
> @@ -497,7 +497,7 @@ static int scftorture_invoker(void *arg)
>                 "%s: Wanted CPU %d, running on %d, nr_cpu_ids = %d\n",
>                 __func__, scfp->cpu, curcpu, nr_cpu_ids);
>  
> -     if (!atomic_dec_return(&n_started))
> +     if (atomic_dec_return(&n_started))
>               while (atomic_read_acquire(&n_started)) {
>                       if (torture_must_stop()) {
>                               VERBOSE_SCFTORTOUT("scftorture_invoker %d ended 
> before starting", scfp->cpu);


Reply via email to