summaryrefslogtreecommitdiffstats
path: root/kernel/sched/isolation.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-05 19:21:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-05 19:21:13 +0000
commite67e4ad4b161bd60b9da4c1872a9d77e0cac95fa (patch)
tree5c58f869f31ddb1f7bd6e8bdea269b680b36c5b6 /kernel/sched/isolation.c
parentReleasing progress-linux version 6.8.12-1~progress7.99u1. (diff)
downloadlinux-e67e4ad4b161bd60b9da4c1872a9d77e0cac95fa.tar.xz
linux-e67e4ad4b161bd60b9da4c1872a9d77e0cac95fa.zip
Merging upstream version 6.9.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'kernel/sched/isolation.c')
-rw-r--r--kernel/sched/isolation.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c
index 82e2f7fc7c..5891e715f0 100644
--- a/kernel/sched/isolation.c
+++ b/kernel/sched/isolation.c
@@ -46,7 +46,16 @@ int housekeeping_any_cpu(enum hk_type type)
if (cpu < nr_cpu_ids)
return cpu;
- return cpumask_any_and(housekeeping.cpumasks[type], cpu_online_mask);
+ cpu = cpumask_any_and(housekeeping.cpumasks[type], cpu_online_mask);
+ if (likely(cpu < nr_cpu_ids))
+ return cpu;
+ /*
+ * Unless we have another problem this can only happen
+ * at boot time before start_secondary() brings the 1st
+ * housekeeping CPU up.
+ */
+ WARN_ON_ONCE(system_state == SYSTEM_RUNNING ||
+ type != HK_TYPE_TIMER);
}
}
return smp_processor_id();