函数逻辑报告 |
Source Code:kernel\sched\core.c |
Create Date:2022-07-27 10:36:41 |
Last Modify:2022-05-22 13:40:38 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:选择下一个要运行的进程
函数原型:static inline struct task_struct *pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)
返回类型:struct task_struct
参数:
类型 | 参数 | 名称 |
---|---|---|
struct rq * | rq | |
struct task_struct * | prev | |
struct rq_flags * | rf |
3922 | 如果此条件成立可能性大(为编译器优化)((调度函数 == & idle_sched_class || 调度函数 == & fair_sched_class) && 可运行进程数 == SCHED_{NORMAL,BATCH,IDLE} )则 |
3926 | p等于pick_next_task_fair(rq, prev, rf) |
3927 | 如果此条件成立可能性小(为编译器优化)(p == RETRY_TASK)则转到:restart |
3931 | 如果非p则 |
3932 | put_prev_task(rq, prev) |
3933 | p等于pick_next_task_idle(rq) |
3936 | 返回:p |
3939 | restart : |
3955 | put_prev_task(rq, prev) |
3957 | for_each_class(class) |
3958 | p等于pick_next_task(rq) |
3964 | BUG() |
名称 | 描述 |
---|---|
__schedule | 调度器 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |