]> Pileus Git - ~andy/linux/blobdiff - arch/x86/kernel/process_32.c
Merge branch 'linus' into timers/nohz
[~andy/linux] / arch / x86 / kernel / process_32.c
index 9a139f6c9df30fa2c304e96da89b99fd62b78a8d..53bc653ed5ca52bab902dde3d9efbc0e1630eb6c 100644 (file)
@@ -128,7 +128,7 @@ void cpu_idle(void)
 
        /* endless idle loop with no priority at all */
        while (1) {
-               tick_nohz_stop_sched_tick();
+               tick_nohz_stop_sched_tick(1);
                while (!need_resched()) {
 
                        check_pgt_cache();
@@ -142,7 +142,10 @@ void cpu_idle(void)
 
                        local_irq_disable();
                        __get_cpu_var(irq_stat).idle_timestamp = jiffies;
+                       /* Don't trace irqs off for idle */
+                       stop_critical_timings();
                        pm_idle();
+                       start_critical_timings();
                }
                tick_nohz_restart_sched_tick();
                preempt_enable_no_resched();