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 --- |