函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |