diff options
Diffstat (limited to 'debian/patches-rt/sched-core-migrate_enable-must-access-takedown_cpu_t.patch')
-rw-r--r-- | debian/patches-rt/sched-core-migrate_enable-must-access-takedown_cpu_t.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/patches-rt/sched-core-migrate_enable-must-access-takedown_cpu_t.patch b/debian/patches-rt/sched-core-migrate_enable-must-access-takedown_cpu_t.patch new file mode 100644 index 000000000..384a89080 --- /dev/null +++ b/debian/patches-rt/sched-core-migrate_enable-must-access-takedown_cpu_t.patch @@ -0,0 +1,44 @@ +From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Fri, 29 Nov 2019 17:24:55 +0100 +Subject: [PATCH] sched/core: migrate_enable() must access takedown_cpu_task on + !HOTPLUG_CPU +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.4/older/patches-5.4.3-rt1.tar.xz + +The variable takedown_cpu_task is never declared/used on !HOTPLUG_CPU +except for migrate_enable(). This leads to a link error. + +Don't use takedown_cpu_task in !HOTPLUG_CPU. + +Reported-by: Dick Hollenbeck <dick@softplc.com> +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +--- + kernel/cpu.c | 2 ++ + kernel/sched/core.c | 2 ++ + 2 files changed, 4 insertions(+) + +--- a/kernel/cpu.c ++++ b/kernel/cpu.c +@@ -887,7 +887,9 @@ static int take_cpu_down(void *_param) + return 0; + } + ++#ifdef CONFIG_PREEMPT_RT + struct task_struct *takedown_cpu_task; ++#endif + + static int takedown_cpu(unsigned int cpu) + { +--- a/kernel/sched/core.c ++++ b/kernel/sched/core.c +@@ -8129,9 +8129,11 @@ void migrate_enable(void) + + p->migrate_disable = 0; + rq->nr_pinned--; ++#ifdef CONFIG_HOTPLUG_CPU + if (rq->nr_pinned == 0 && unlikely(!cpu_active(cpu)) && + takedown_cpu_task) + wake_up_process(takedown_cpu_task); ++#endif + + if (!p->migrate_disable_scheduled) + goto out; |