Function report |
Source Code:kernel\sched\idle.c |
Create Date:2022-07-28 09:37:48 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:puidle_idle_call - the main idle function* NOTE: no locks or semaphores should be used here* On archs that support TIF_POLLING_NRFLAG, is called with polling* set, and it returns with polling set. If it ever stops polling, it* must clear the polling bit.
Proto:static void cpuidle_idle_call(void)
Type:void
Parameter:Nothing
131 | dev = cpuidle_get_device() |
132 | drv = cpuidle_get_cpu_driver(dev) |
139 | If need_resched() Then |
150 | If cpuidle_not_available(drv, dev) Then |
151 | tick_nohz_idle_stop_tick() |
154 | default_idle_call - Default CPU idle routine.* To use when the cpuidle framework cannot be used. |
155 | Go to exit_idle |
168 | If idle_should_enter_s2idle() || forced_idle_latency_limit_ns Then |
171 | If idle_should_enter_s2idle() Then |
174 | entered_state = cpuidle_enter_s2idle(drv, dev) |
175 | If entered_state > 0 Then |
177 | Go to exit_idle |
182 | max_latency_ns = U64_MAX |
183 | Else |
187 | tick_nohz_idle_stop_tick() |
191 | call_cpuidle(drv, dev, next_state) |
192 | Else |
193 | bool stop_tick = true |
198 | next_state = cpuidle_select(drv, dev, & stop_tick) |
200 | If stop_tick || tick_nohz_tick_stopped() Then tick_nohz_idle_stop_tick() |
202 | Else tick_nohz_idle_retain_tick() |
207 | entered_state = call_cpuidle(drv, dev, next_state) |
211 | cpuidle_reflect(dev, entered_state) |
214 | exit_idle : |
Name | Describe |
---|---|
do_idle | Generic idle loop implementation* Called with polling cleared. |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |