diff options
Diffstat (limited to 'debian/patches-rt/hotplug-light-get-online-cpus.patch')
-rw-r--r-- | debian/patches-rt/hotplug-light-get-online-cpus.patch | 18 |
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; } } |