kcsan: Use preemption model accessors
authorValentin Schneider <valentin.schneider@arm.com>
Fri, 12 Nov 2021 18:52:02 +0000 (18:52 +0000)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 5 Apr 2022 08:24:42 +0000 (10:24 +0200)
Per PREEMPT_DYNAMIC, checking CONFIG_PREEMPT doesn't tell you the actual
preemption model of the live kernel. Use the newly-introduced accessors
instead.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Marco Elver <elver@google.com>
Acked-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/20211112185203.280040-4-valentin.schneider@arm.com
kernel/kcsan/kcsan_test.c

index a36fca063a73aa3bf043917bbe502e3780d8b9a4..767dfacd6ed30fa10403d092daf4bff08cf23010 100644 (file)
@@ -1380,13 +1380,14 @@ static const void *nthreads_gen_params(const void *prev, char *desc)
        else
                nthreads *= 2;
 
-       if (!IS_ENABLED(CONFIG_PREEMPT) || !IS_ENABLED(CONFIG_KCSAN_INTERRUPT_WATCHER)) {
+       if (!preempt_model_preemptible() ||
+           !IS_ENABLED(CONFIG_KCSAN_INTERRUPT_WATCHER)) {
                /*
                 * Without any preemption, keep 2 CPUs free for other tasks, one
                 * of which is the main test case function checking for
                 * completion or failure.
                 */
-               const long min_unused_cpus = IS_ENABLED(CONFIG_PREEMPT_NONE) ? 2 : 0;
+               const long min_unused_cpus = preempt_model_none() ? 2 : 0;
                const long min_required_cpus = 2 + min_unused_cpus;
 
                if (num_online_cpus() < min_required_cpus) {