函数逻辑报告 |
Source Code:kernel\sched\idle.c |
Create Date:2022-07-27 10:38:21 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称: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.
函数原型:static void cpuidle_idle_call(void)
返回类型:void
参数:无
| 131 | dev等于cpuidle_get_device() |
| 132 | drv等于cpuidle_get_cpu_driver(dev) |
| 139 | 如果need_resched()则 |
| 140 | 开中断() |
| 141 | 返回 |
| 150 | 如果cpuidle_not_available(drv, dev)则 |
| 151 | tick_nohz_idle_stop_tick() |
| 154 | default_idle_call - Default CPU idle routine.* To use when the cpuidle framework cannot be used. |
| 155 | 转到:exit_idle |
| 171 | 如果idle_should_enter_s2idle()则 |
| 174 | entered_state等于cpuidle_enter_s2idle(drv, dev) |
| 175 | 如果entered_state大于0则 |
| 182 | max_latency_ns等于U64_MAX |
| 183 | 否则 |
| 187 | tick_nohz_idle_stop_tick() |
| 191 | call_cpuidle(drv, dev, next_state) |
| 192 | 否则 |
| 193 | bool stop_tick = true |
| 198 | next_state等于cpuidle_select(drv, dev, & stop_tick) |
| 202 | 否则tick_nohz_idle_retain_tick() |
| 207 | entered_state等于call_cpuidle(drv, dev, next_state) |
| 211 | cpuidle_reflect(dev, entered_state) |
| 214 | exit_idle : |
| 220 | 如果WARN_ON_ONCE(已禁止中断())则开中断() |
| 名称 | 描述 |
|---|---|
| do_idle | Generic idle loop implementation* Called with polling cleared. |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |