idle.c (2bbb6817c0ac1b5f2a68d720f364f98eeb1ac4fd) idle.c (1268fbc746ea1cd279886a740dcbad4ba5232225)
1/*
2 * The idle loop for all SuperH platforms.
3 *
4 * Copyright (C) 2002 - 2009 Paul Mundt
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.

--- 75 unchanged lines hidden (view full) ---

84void cpu_idle(void)
85{
86 unsigned int cpu = smp_processor_id();
87
88 set_thread_flag(TIF_POLLING_NRFLAG);
89
90 /* endless idle loop with no priority at all */
91 while (1) {
1/*
2 * The idle loop for all SuperH platforms.
3 *
4 * Copyright (C) 2002 - 2009 Paul Mundt
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.

--- 75 unchanged lines hidden (view full) ---

84void cpu_idle(void)
85{
86 unsigned int cpu = smp_processor_id();
87
88 set_thread_flag(TIF_POLLING_NRFLAG);
89
90 /* endless idle loop with no priority at all */
91 while (1) {
92 tick_nohz_idle_enter_norcu();
92 tick_nohz_idle_enter();
93 rcu_idle_enter();
93
94 while (!need_resched()) {
95 check_pgt_cache();
96 rmb();
97
98 if (cpu_is_offline(cpu))
99 play_dead();
100

--- 5 unchanged lines hidden (view full) ---

106 /*
107 * Sanity check to ensure that pm_idle() returns
108 * with IRQs enabled
109 */
110 WARN_ON(irqs_disabled());
111 start_critical_timings();
112 }
113
94
95 while (!need_resched()) {
96 check_pgt_cache();
97 rmb();
98
99 if (cpu_is_offline(cpu))
100 play_dead();
101

--- 5 unchanged lines hidden (view full) ---

107 /*
108 * Sanity check to ensure that pm_idle() returns
109 * with IRQs enabled
110 */
111 WARN_ON(irqs_disabled());
112 start_critical_timings();
113 }
114
114 tick_nohz_idle_exit_norcu();
115 rcu_idle_exit();
116 tick_nohz_idle_exit();
115 preempt_enable_no_resched();
116 schedule();
117 preempt_disable();
118 }
119}
120
121void __init select_idle_routine(void)
122{

--- 40 unchanged lines hidden ---
117 preempt_enable_no_resched();
118 schedule();
119 preempt_disable();
120 }
121}
122
123void __init select_idle_routine(void)
124{

--- 40 unchanged lines hidden ---