scftorture: Avoid false-positive warnings in scftorture_invoker()
authorPaul E. McKenney <paulmck@kernel.org>
Fri, 4 Jun 2021 19:37:44 +0000 (12:37 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Tue, 6 Jul 2021 19:37:55 +0000 (12:37 -0700)
commit22b6d14992b733e9421a475f4d43df24629737ab
treeaf3896f5d93fc727f961908f8892ad9ea71f2b98
parent79160a603bdb51916226caf4a6616cc4e1c58a58
scftorture: Avoid false-positive warnings in scftorture_invoker()

If the call to set_cpus_allowed_ptr() in scftorture_invoker()
fails, a later WARN_ONCE() complains.  But with the advent of
570a752b7a9b ("lib/smp_processor_id: Use is_percpu_thread() instead of
nr_cpus_allowed"), this complaint can be drowned out by complaints from
smp_processor_id().  The rationale for this change is that scftorture's
kthreads are not marked with PF_NO_SETAFFINITY, which means that a system
administrator could change affinity at any time.

However, scftorture is a torture test, and the system administrator might
well have a valid test-the-test reason for changing affinity.  This commit
therefore changes to raw_smp_processor_id() in order to avoid the noise,
and also adds a WARN_ON_ONCE() to the call to set_cpus_allowed_ptr() in
order to directly detect immediate failure.  There is no WARN_ON_ONCE()
within the test loop, allowing human-reflex-based affinity resetting,
if desired.

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