diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2018-05-29 17:49:05 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-21 14:20:57 +0200 |
commit | cc1fe215e1efa406b03aa4389e6269b61342dec5 (patch) | |
tree | 2e48856350405e808429badae7e8b5a286ae4ca5 /kernel/cpu.c | |
parent | cpu/hotplug: Make bringup/teardown of smp threads symmetric (diff) | |
download | linux-cc1fe215e1efa406b03aa4389e6269b61342dec5.tar.xz linux-cc1fe215e1efa406b03aa4389e6269b61342dec5.zip |
cpu/hotplug: Split do_cpu_down()
Split out the inner workings of do_cpu_down() to allow reuse of that
function for the upcoming SMT disabling mechanism.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r-- | kernel/cpu.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index 61396b3e9058..e266cb529c1a 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -906,20 +906,19 @@ out: return ret; } +static int cpu_down_maps_locked(unsigned int cpu, enum cpuhp_state target) +{ + if (cpu_hotplug_disabled) + return -EBUSY; + return _cpu_down(cpu, 0, target); +} + static int do_cpu_down(unsigned int cpu, enum cpuhp_state target) { int err; cpu_maps_update_begin(); - - if (cpu_hotplug_disabled) { - err = -EBUSY; - goto out; - } - - err = _cpu_down(cpu, 0, target); - -out: + err = cpu_down_maps_locked(cpu, target); cpu_maps_update_done(); return err; } |