aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/tick-sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time/tick-sched.c')
-rw-r--r--kernel/time/tick-sched.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 520592ab6aa4..314b9ee07edf 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -565,19 +565,14 @@ void tick_nohz_idle_enter(void)
565 */ 565 */
566void tick_nohz_irq_exit(void) 566void tick_nohz_irq_exit(void)
567{ 567{
568 unsigned long flags;
569 struct tick_sched *ts = &__get_cpu_var(tick_cpu_sched); 568 struct tick_sched *ts = &__get_cpu_var(tick_cpu_sched);
570 569
571 if (!ts->inidle) 570 if (!ts->inidle)
572 return; 571 return;
573 572
574 local_irq_save(flags); 573 /* Cancel the timer because CPU already waken up from the C-states*/
575
576 /* Cancel the timer because CPU already waken up from the C-states */
577 menu_hrtimer_cancel(); 574 menu_hrtimer_cancel();
578 __tick_nohz_idle_enter(ts); 575 __tick_nohz_idle_enter(ts);
579
580 local_irq_restore(flags);
581} 576}
582 577
583/** 578/**