]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/ppc64/kernel/idle.c
[PATCH] sched: disable preempt in idle tasks
[net-next-2.6.git] / arch / ppc64 / kernel / idle.c
index 8fec27469802290251e91f6221e6c883dd31d891..909ea669af9159a3dd3341f69a623118e0693529 100644 (file)
@@ -61,7 +61,9 @@ void default_idle(void)
                }
 
                ppc64_runlatch_on();
+               preempt_enable_no_resched();
                schedule();
+               preempt_disable();
                if (cpu_is_offline(cpu) && system_state == SYSTEM_RUNNING)
                        cpu_die();
        }
@@ -77,7 +79,9 @@ void native_idle(void)
 
                if (need_resched()) {
                        ppc64_runlatch_on();
+                       preempt_enable_no_resched();
                        schedule();
+                       preempt_disable();
                }
 
                if (cpu_is_offline(smp_processor_id()) &&