Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\deadline.c Create Date:2022-07-28 09:39:57
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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

Proto:static void replenish_dl_entity(struct sched_dl_entity *dl_se, struct sched_dl_entity *pi_se)

Type:void

Parameter:

TypeParameterName
struct sched_dl_entity *dl_se
struct sched_dl_entity *pi_se
701  dl_rq = dl_rq_of_se(dl_se)
702  rq = rq_of_dl_rq(dl_rq)
704  BUG_ON( Maximum runtime for each instance <= 0)
710  If Relative deadline of each instance == 0 Then
711  Absolute deadline for this instance = rq_clock(rq) + Relative deadline of each instance
712  Remaining runtime for this instance = Maximum runtime for each instance
715  If dl_yielded && Remaining runtime for this instance > 0 Then Remaining runtime for this instance = 0
724  When Remaining runtime for this instance <= 0 cycle
725  Absolute deadline for this instance += Separation of two instances (period)
726  Remaining runtime for this instance += Maximum runtime for each instance
738  If dl_time_before( Absolute deadline for this instance , rq_clock(rq)) Then
739  printk_deferred_once("sched: DL replenish lagged too much\n")
740  Absolute deadline for this instance = rq_clock(rq) + Relative deadline of each instance
741  Remaining runtime for this instance = Maximum runtime for each instance
744  If dl_yielded Then dl_yielded = 0
746  If * Some bool flags: *@dl_throttled tells if we exhausted the runtime. If so, the * task has to wait for a replenishment to be performed at the * next firing of dl_timer. *@dl_boosted tells if we are boosted due to DI. If so we are * outside bandwidth enforc Then * Some bool flags: *@dl_throttled tells if we exhausted the runtime. If so, the * task has to wait for a replenishment to be performed at the * next firing of dl_timer. *@dl_boosted tells if we are boosted due to DI. If so we are * outside bandwidth enforc = 0
Caller
NameDescribe
dl_task_timerThis is the bandwidth enforcement timer callback
enqueue_dl_entity