函数逻辑报告 |
Source Code:kernel\sched\fair.c |
Create Date:2022-07-27 10:38:46 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:更新当前进程运行时间,包括虚拟运行时间
函数原型:static void update_curr(struct cfs_rq *cfs_rq)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct cfs_rq * | cfs_rq |
834 | curr等于'curr' points to currently running entity on this cfs_rq.* It is set to NULL otherwise (i.e when none are currently running). |
835 | now等于rq_clock_task(rq_of(cfs_rq)) |
838 | 如果此条件成立可能性小(为编译器优化)(!curr)则返回 |
841 | delta_exec等于now减exec_start |
842 | 如果此条件成立可能性小(为编译器优化)((s64)delta_exec <= 0)则返回 |
845 | exec_start等于now |
847 | schedstat_set(exec_max, 两数取大(delta_exec, exec_max)) |
850 | sum_exec_runtime加等于delta_exec |
853 | vruntime加等于delta /= w |
856 | 如果entity_is_task(curr)则 |
名称 | 描述 |
---|---|
update_curr_fair | |
reweight_entity | |
enqueue_entity | MIGRATION* dequeue* update_curr()* update_min_vruntime()* vruntime -= min_vruntime* enqueue* update_curr()* update_min_vruntime()* vruntime += min_vruntime* this way the vruntime transition between RQs is done when both* min_vruntime are up-to-date |
dequeue_entity | |
put_prev_entity | |
entity_tick | 更新当前进程运行时间,并判断是否需要调度此进程 |
check_preempt_wakeup | Preempt the current task with a newly woken task if needed: |
yield_task_fair | sched_yield() is very simple* The magic of dealing with the ->skip buddy is in pick_next_entity. |
task_fork_fair | alled on fork with the child task as argument from the parent's context* - child not yet on the tasklist* - preemption disabled |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |