aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/idle.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/idle.c')
-rw-r--r--arch/powerpc/kernel/idle.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
index 3cd73d1fc42..9c3cd490b1b 100644
--- a/arch/powerpc/kernel/idle.c
+++ b/arch/powerpc/kernel/idle.c
@@ -62,10 +62,10 @@ void cpu_idle(void)
62 62
63 set_thread_flag(TIF_POLLING_NRFLAG); 63 set_thread_flag(TIF_POLLING_NRFLAG);
64 while (1) { 64 while (1) {
65 if (idle_uses_rcu) 65 tick_nohz_idle_enter();
66 tick_nohz_idle_enter(); 66 if (!idle_uses_rcu)
67 else 67 rcu_idle_enter();
68 tick_nohz_idle_enter_norcu(); 68
69 while (!need_resched() && !cpu_should_die()) { 69 while (!need_resched() && !cpu_should_die()) {
70 ppc64_runlatch_off(); 70 ppc64_runlatch_off();
71 71
@@ -102,10 +102,9 @@ void cpu_idle(void)
102 102
103 HMT_medium(); 103 HMT_medium();
104 ppc64_runlatch_on(); 104 ppc64_runlatch_on();
105 if (idle_uses_rcu) 105 if (!idle_uses_rcu)
106 tick_nohz_idle_exit(); 106 rcu_idle_exit();
107 else 107 tick_nohz_idle_exit();
108 tick_nohz_idle_exit_norcu();
109 preempt_enable_no_resched(); 108 preempt_enable_no_resched();
110 if (cpu_should_die()) 109 if (cpu_should_die())
111 cpu_die(); 110 cpu_die();