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>
This commit is contained in:
Thomas Gleixner 2018-05-29 17:49:05 +02:00
parent c4de65696d
commit cc1fe215e1
1 changed files with 8 additions and 9 deletions

View File

@ -906,20 +906,19 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen,
return ret; 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) static int do_cpu_down(unsigned int cpu, enum cpuhp_state target)
{ {
int err; int err;
cpu_maps_update_begin(); cpu_maps_update_begin();
err = cpu_down_maps_locked(cpu, target);
if (cpu_hotplug_disabled) {
err = -EBUSY;
goto out;
}
err = _cpu_down(cpu, 0, target);
out:
cpu_maps_update_done(); cpu_maps_update_done();
return err; return err;
} }