summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/hotplug-light-get-online-cpus.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/hotplug-light-get-online-cpus.patch')
-rw-r--r--debian/patches-rt/hotplug-light-get-online-cpus.patch18
1 files changed, 8 insertions, 10 deletions
diff --git a/debian/patches-rt/hotplug-light-get-online-cpus.patch b/debian/patches-rt/hotplug-light-get-online-cpus.patch
index 297332b6b..d516a47cf 100644
--- a/debian/patches-rt/hotplug-light-get-online-cpus.patch
+++ b/debian/patches-rt/hotplug-light-get-online-cpus.patch
@@ -1,7 +1,7 @@
Subject: hotplug: Lightweight get online cpus
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 15 Jun 2011 12:36:06 +0200
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.0/older/patches-5.0.10-rt7.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.2/older/patches-5.2-rt1.tar.xz
get_online_cpus() is a heavy weight function which involves a global
mutex. migrate_disable() wants a simpler construct which prevents only
@@ -15,12 +15,12 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
include/linux/cpu.h | 5 +++++
kernel/cpu.c | 15 +++++++++++++++
- kernel/sched/core.c | 4 ++++
- 3 files changed, 24 insertions(+)
+ kernel/sched/core.c | 3 +++
+ 3 files changed, 23 insertions(+)
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
-@@ -111,6 +111,8 @@ extern void cpu_hotplug_disable(void);
+@@ -113,6 +113,8 @@ extern void cpu_hotplug_disable(void);
extern void cpu_hotplug_enable(void);
void clear_tasks_mm_cpumask(int cpu);
int cpu_down(unsigned int cpu);
@@ -29,7 +29,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#else /* CONFIG_HOTPLUG_CPU */
-@@ -122,6 +124,9 @@ static inline int cpus_read_trylock(voi
+@@ -124,6 +126,9 @@ static inline int cpus_read_trylock(voi
static inline void lockdep_assert_cpus_held(void) { }
static inline void cpu_hotplug_disable(void) { }
static inline void cpu_hotplug_enable(void) { }
@@ -41,7 +41,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* Wrappers which go away once all code is converted */
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
-@@ -281,6 +281,21 @@ static int cpu_hotplug_disabled;
+@@ -282,6 +282,21 @@ static int cpu_hotplug_disabled;
#ifdef CONFIG_HOTPLUG_CPU
@@ -65,7 +65,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void cpus_read_lock(void)
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -7216,6 +7216,7 @@ void migrate_disable(void)
+@@ -7223,6 +7223,7 @@ void migrate_disable(void)
}
preempt_disable();
@@ -73,15 +73,13 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
migrate_disable_update_cpus_allowed(p);
p->migrate_disable = 1;
-@@ -7281,12 +7282,15 @@ void migrate_enable(void)
+@@ -7288,11 +7289,13 @@ void migrate_enable(void)
arg.task = p;
arg.dest_cpu = dest_cpu;
+ unpin_current_cpu();
preempt_enable();
stop_one_cpu(task_cpu(p), migration_cpu_stop, &arg);
- tlb_migrate_finish(p->mm);
-+
return;
}
}