summaryrefslogtreecommitdiff
path: root/kernel/cpu.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-07-17 17:35:29 (GMT)
committerScott Wood <scottwood@freescale.com>2014-04-10 00:19:15 (GMT)
commit7694f6caf8071e443eb1d4f9a9cf12c6b75f00e6 (patch)
tree35e03b972cbdb81c5122326d50dbb0239c420e4c /kernel/cpu.c
parent5f1a16bdb3b1bda23879ac0ff31739b3c255b03d (diff)
downloadlinux-fsl-qoriq-7694f6caf8071e443eb1d4f9a9cf12c6b75f00e6.tar.xz
hotplug-use-migrate-disable.patch
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r--kernel/cpu.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c
index b9c39b5..ef0e472 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -400,14 +400,13 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen)
cpumask_andnot(cpumask, cpu_online_mask, cpumask_of(cpu));
set_cpus_allowed_ptr(current, cpumask);
free_cpumask_var(cpumask);
- preempt_disable();
+ migrate_disable();
mycpu = smp_processor_id();
if (mycpu == cpu) {
printk(KERN_ERR "Yuck! Still on unplug CPU\n!");
- preempt_enable();
+ migrate_enable();
return -EBUSY;
}
- preempt_enable();
err = __cpu_notify(CPU_DOWN_PREPARE | mod, hcpu, -1, &nr_calls);
if (err) {
@@ -458,6 +457,7 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen)
out_release:
cpu_unplug_done(cpu);
out_cancel:
+ migrate_enable();
cpu_hotplug_done();
if (!err)
cpu_notify_nofail(CPU_POST_DEAD | mod, hcpu);