| From foo@baz Tue Aug 14 16:14:56 CEST 2018 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Tue, 29 May 2018 19:05:25 +0200 |
| Subject: cpu/hotplug: Make bringup/teardown of smp threads symmetric |
| |
| From: Thomas Gleixner <tglx@linutronix.de> |
| |
| commit c4de65696d865c225fda3b9913b31284ea65ea96 upstream |
| |
| The asymmetry caused a warning to trigger if the bootup was stopped in state |
| CPUHP_AP_ONLINE_IDLE. The warning no longer triggers as kthread_park() can |
| now be invoked on already or still parked threads. But there is still no |
| reason to have this be asymmetric. |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
| Acked-by: Ingo Molnar <mingo@kernel.org> |
| Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| kernel/cpu.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/kernel/cpu.c |
| +++ b/kernel/cpu.c |
| @@ -817,7 +817,6 @@ static int takedown_cpu(unsigned int cpu |
| |
| /* Park the smpboot threads */ |
| kthread_park(per_cpu_ptr(&cpuhp_state, cpu)->thread); |
| - smpboot_park_threads(cpu); |
| |
| /* |
| * Prevent irq alloc/free while the dying cpu reorganizes the |
| @@ -1389,7 +1388,7 @@ static struct cpuhp_step cpuhp_ap_states |
| [CPUHP_AP_SMPBOOT_THREADS] = { |
| .name = "smpboot/threads:online", |
| .startup.single = smpboot_unpark_threads, |
| - .teardown.single = NULL, |
| + .teardown.single = smpboot_park_threads, |
| }, |
| [CPUHP_AP_PERF_ONLINE] = { |
| .name = "perf:online", |