函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:The dequeue_task method is called before nr_running is* decreased. We remove the task from the rbtree and* update the fair scheduling stats:

函数原型:static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int flags)

返回类型:void

参数:

类型参数名称
struct rq *rq
struct task_struct *p
intflags
5310  se等于调度实体
5311  task_sleep等于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
5312  idle_h_nr_running等于task_has_idle_policy(p)
5315  cfs_rq等于cfs_rq_of(se)
5316  dequeue_entity(cfs_rq, se, flags)
5324  如果cfs_rq_throttled(cfs_rq)则退出
5326  SCHED_{NORMAL,BATCH,IDLE} 自减
5327  SCHED_IDLE 减等于idle_h_nr_running
5330  如果weight
5332  se等于parent_entity(se)
5337  如果task_sleepse且非throttled_hierarchy(cfs_rq)则set_next_buddy(se)
5339  退出
5341  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
5345  cfs_rq等于cfs_rq_of(se)
5346  SCHED_{NORMAL,BATCH,IDLE} 自减
5347  SCHED_IDLE 减等于idle_h_nr_running
5349  如果cfs_rq_throttled(cfs_rq)则退出
5352  update_load_avg(cfs_rq, se, UPDATE_TG)
5353  update_cfs_group(se)
5356  如果非sesub_nr_running(rq, 1)
5359  util_est_dequeue( & cfs, p, task_sleep)
5360  hrtick_update(rq)