diff options
-rw-r--r-- | kernel/time/tick-sched.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index da53c8f2beb5..1c9f53b2ddb7 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c | |||
@@ -251,14 +251,15 @@ void tick_nohz_task_switch(struct task_struct *tsk) | |||
251 | { | 251 | { |
252 | unsigned long flags; | 252 | unsigned long flags; |
253 | 253 | ||
254 | if (!tick_nohz_full_cpu(smp_processor_id())) | ||
255 | return; | ||
256 | |||
257 | local_irq_save(flags); | 254 | local_irq_save(flags); |
258 | 255 | ||
256 | if (!tick_nohz_full_cpu(smp_processor_id())) | ||
257 | goto out; | ||
258 | |||
259 | if (tick_nohz_tick_stopped() && !can_stop_full_tick()) | 259 | if (tick_nohz_tick_stopped() && !can_stop_full_tick()) |
260 | tick_nohz_full_kick(); | 260 | tick_nohz_full_kick(); |
261 | 261 | ||
262 | out: | ||
262 | local_irq_restore(flags); | 263 | local_irq_restore(flags); |
263 | } | 264 | } |
264 | 265 | ||