Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:The utilization of a task cannot be immediately removed from* the rq active utilization (running_bw) when the task blocks

Proto:static void task_non_contending(struct task_struct *p)

Type:void

Parameter:

TypeParameterName
struct task_struct *p
239  dl_se = dl
240  timer = * Inactive timer, responsible for decreasing the active utilization * at the "0-lag time". When a -deadline task blocks, it contributes * to GRUB's active utilization until the "0-lag time", hence a * timer is needed to decrease the active utilization at t
241  dl_rq = dl_rq_of_se(dl_se)
242  rq = rq_of_dl_rq(dl_rq)
249  If Maximum runtime for each instance == 0 Then Return
252  If dl_entity_is_special(dl_se) Then Return
255  WARN_ON(dl_non_contending)
257  zerolag_time = Absolute deadline for this instance - div64_long(( Remaining runtime for this instance * Separation of two instances (period) ), Maximum runtime for each instance )
265  zerolag_time -= rq_clock(rq)
271  If zerolag_time < 0 || hrtimer_active( & * Inactive timer, responsible for decreasing the active utilization * at the "0-lag time". When a -deadline task blocks, it contributes * to GRUB's active utilization until the "0-lag time", hence a * timer is needed to decrease the active utilization at t) Then
272  If dl_task(p) Then sub_running_bw(dl_se, dl_rq)
274  If Not dl_task(p) || run state == TASK_DEAD Then
275  dl_b = dl_bw_of(task_cpu(p))
277  If run state == TASK_DEAD Then sub_rq_bw( & dl, & dl)
279  raw_spin_lock( & lock)
282  raw_spin_unlock( & lock)
285  Return
288  dl_non_contending = 1
289  get_task_struct(p)
290  hrtimer_start - (re)start an hrtimer*@timer: the timer to be added*@tim: expiry time*@mode: timer mode: absolute (HRTIMER_MODE_ABS) or* relative (HRTIMER_MODE_REL), and pinned (HRTIMER_MODE_PINNED);* softirq based mode is considered for debug purpose only!
Caller
NameDescribe
dequeue_task_dl
switched_from_dl