函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:enqueue_dl_entity

函数原型:static void enqueue_dl_entity(struct sched_dl_entity *dl_se, struct sched_dl_entity *pi_se, int flags)

返回类型:void

参数:

类型参数名称
struct sched_dl_entity *dl_se
struct sched_dl_entity *pi_se
intflags
1446  BUG_ON(on_dl_rq(dl_se))
1453  如果flags按位与ENQUEUE_WAKEUP
1454  task_contending(dl_se, flags)
1455  When a deadline entity is placed in the runqueue, its runtime and deadline* might need to be updated. This is done by a CBS wake up rule. There are two* different rules: 1) the original CBS; and 2) the Revisited CBS.
1456  否则如果flags按位与ENQUEUE_REPLENISH
1457  Pure Earliest Deadline First (EDF) scheduling does not deal with the* possibility of a entity lasting more than what it declared, and thus* exhausting its runtime
1458  否则如果flags按位与ENQUEUE_RESTOREdl_time_before( Absolute deadline for this instance , rq_clock(rq_of_dl_rq(dl_rq_of_se(dl_se))))则
1461  We are being explicitly informed that a new instance is starting,* and this means that:* - the absolute deadline of the entity has to be placed at* current time + relative deadline;* - the runtime of the entity has to be set to the maximum value
1464  __enqueue_dl_entity(dl_se)
调用者
名称描述
enqueue_task_dl