[tip: core/rcu] scftorture: Adapt memory-ordering test to UP operation

From: tip-bot2 for Paul E. McKenney
Date: Fri Oct 09 2020 - 02:35:52 EST


The following commit has been merged into the core/rcu branch of tip:

Commit-ID: 9e66bf03f9c538863e614a72c5799bcd9579630e
Gitweb: https://git.kernel.org/tip/9e66bf03f9c538863e614a72c5799bcd9579630e
Author: Paul E. McKenney <paulmck@xxxxxxxxxx>
AuthorDate: Fri, 03 Jul 2020 15:23:19 -07:00
Committer: Paul E. McKenney <paulmck@xxxxxxxxxx>
CommitterDate: Mon, 24 Aug 2020 18:38:37 -07:00

scftorture: Adapt memory-ordering test to UP operation

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@xxxxxxxxxx>
---
kernel/scftorture.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/scftorture.c b/kernel/scftorture.c
index 04d3a42..fc22bcc 100644
--- a/kernel/scftorture.c
+++ b/kernel/scftorture.c
@@ -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);