summaryrefslogtreecommitdiff
path: root/kernel/cpu.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2018-05-29 17:49:05 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-08-15 18:12:51 +0200
commit6beba29c66bcab61457173c7c36638fa3f5824b5 (patch)
treee4b277e5596ca8ae7e2ff20ab75e9166808669a9 /kernel/cpu.c
parent26a6dcc7134b7f45e0058cd735148afd2715f67a (diff)
cpu/hotplug: Split do_cpu_down()
commit cc1fe215e1efa406b03aa4389e6269b61342dec5 upstream 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r--kernel/cpu.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c
index ac08cfbb9167..b419da4b3ba9 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -910,20 +910,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;
}