函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:dequeue_entity

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

返回类型:void

参数:

类型参数名称
struct cfs_rq *cfs_rq
struct sched_entity *se
intflags
4083  更新当前进程运行时间,包括虚拟运行时间
4093  update_load_avg(cfs_rq, se, UPDATE_TG)
4094  dequeue_runnable_load_avg(cfs_rq, se)
4096  update_stats_dequeue(cfs_rq, se, flags)
4098  清空队列指针
4100  如果se不等于'curr' points to currently running entity on this cfs_rq.* It is set to NULL otherwise (i.e when none are currently running).__dequeue_entity(cfs_rq, se)
4102  on_rq等于0
4103  account_entity_dequeue(cfs_rq, se)
4111  如果非flags按位与{de,en}queue flags:* DEQUEUE_SLEEP - task is no longer runnable* ENQUEUE_WAKEUP - task just became runnable* SAVE/RESTORE - an otherwise spurious dequeue/enqueue, done to ensure tasks* are in a known state which allows modification. Such pairs的值则vruntime减等于min_vruntime
4115  return_cfs_rq_runtime(cfs_rq)
4117  update_cfs_group(se)
4125  如果flags按位与Matches ENQUEUE_RESTORE 按位或Matches ENQUEUE_MOVE 的值的值不等于Matches ENQUEUE_RESTORE update_min_vruntime(cfs_rq)
调用者
名称描述
dequeue_task_fairThe dequeue_task method is called before nr_running is* decreased. We remove the task from the rbtree and* update the fair scheduling stats: