函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:place_entity

函数原型:static void place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)

返回类型:void

参数:

类型参数名称
struct cfs_rq *cfs_rq
struct sched_entity *se
intinitial
3895  vruntime等于min_vruntime
3903  如果initialsched_feat(START_DEBIT)则vruntime加等于We calculate the vruntime slice of a to-be-inserted task.* vs = s/w
3907  如果非initial
3908  thresh等于Targeted preemption latency for CPU-bound tasks:* NOTE: this latency value is not the same as the concept of* 'timeslice length' - timeslices in CFS are of variable length* and have no persistent notion like in traditional, time-slice
3914  如果sched_feat(GENTLE_FAIR_SLEEPERS)则thresh右移等于1位
3917  vruntime减等于thresh
3921  vruntime等于Scheduling class tree data structure manipulation methods:
调用者
名称描述
enqueue_entityMIGRATION* 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
task_fork_fairalled on fork with the child task as argument from the parent's context* - child not yet on the tasklist* - preemption disabled
detach_task_cfs_rq