scftorture: Adapt memory-ordering test to UP operation
authorPaul E. McKenney <paulmck@kernel.org>
Fri, 3 Jul 2020 22:23:19 +0000 (15:23 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Tue, 25 Aug 2020 01:38:37 +0000 (18:38 -0700)
On uniprocessor systems, smp_call_function() does nothing.  This commit
therefore avoids complaining about the lack of handler accesses in the
single-CPU case where there is no handler.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/scftorture.c

index 04d3a42..fc22bcc 100644 (file)
@@ -363,7 +363,8 @@ static void scftorture_invoke_one(struct scf_statistics *scfp, struct torture_ra
                        scfcp->scfc_out = true;
        }
        if (scfcp && scfsp->scfs_wait) {
-               if (WARN_ON_ONCE(!scfcp->scfc_out))
+               if (WARN_ON_ONCE((num_online_cpus() > 1 || scfsp->scfs_prim == SCF_PRIM_SINGLE) &&
+                                !scfcp->scfc_out))
                        atomic_inc(&n_mb_out_errs); // Leak rather than trash!
                else
                        kfree(scfcp);