函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\idle.c Create Date:2022-07-27 10:38:22
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Generic idle loop implementation* Called with polling cleared.

函数原型:static void do_idle(void)

返回类型:void

参数:

233  cpu等于当前cpu ID()
243  Idle thread specific functions to determine the need_resched* polling state.
244  tick_nohz_idle_enter()
246  当非need_resched()循环
247  rmb()
249  禁止中断()
251  如果cpu_is_offline(cpu)则
257  arch_cpu_idle_enter()
267  cpu_idle_poll()
268  否则
271  arch_cpu_idle_exit()
281  preempt_set_need_resched()
282  tick_nohz_idle_exit()
283  __current_clr_polling()
290  smp_mb__after_atomic()
292  sched_ttwu_pending()
293  synchronize_rcu_tasks() makes sure that no task is stuck in preempted* state (have scheduled out non-voluntarily) by making sure that all* tasks have either left the run queue or have gone into user space
295  如果此条件成立可能性小(为编译器优化)(klp_patch_pending(当前进程))则klp_update_patch_state(当前进程)
调用者
名称描述
play_idle_precise
cpu_startup_entry