aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/hrtimer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/hrtimer.c')
-rw-r--r--kernel/hrtimer.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 476cb0c0b4a4..de93a8176ca6 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -1355,17 +1355,16 @@ static void migrate_hrtimers(int cpu)
1355 tick_cancel_sched_timer(cpu); 1355 tick_cancel_sched_timer(cpu);
1356 1356
1357 local_irq_disable(); 1357 local_irq_disable();
1358 1358 double_spin_lock(&new_base->lock, &old_base->lock,
1359 spin_lock(&new_base->lock); 1359 smp_processor_id() < cpu);
1360 spin_lock(&old_base->lock);
1361 1360
1362 for (i = 0; i < HRTIMER_MAX_CLOCK_BASES; i++) { 1361 for (i = 0; i < HRTIMER_MAX_CLOCK_BASES; i++) {
1363 migrate_hrtimer_list(&old_base->clock_base[i], 1362 migrate_hrtimer_list(&old_base->clock_base[i],
1364 &new_base->clock_base[i]); 1363 &new_base->clock_base[i]);
1365 } 1364 }
1366 spin_unlock(&old_base->lock);
1367 spin_unlock(&new_base->lock);
1368 1365
1366 double_spin_unlock(&new_base->lock, &old_base->lock,
1367 smp_processor_id() < cpu);
1369 local_irq_enable(); 1368 local_irq_enable();
1370 put_cpu_var(hrtimer_bases); 1369 put_cpu_var(hrtimer_bases);
1371} 1370}