Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:This is the bandwidth enforcement timer callback

Proto:static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)

Type:enum hrtimer_restart

Parameter:

TypeParameterName
struct hrtimer *timer
980  dl_se = container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(timer, structsched_dl_entity, dl_timer)
983  p = dl_task_of(dl_se)
987  rq = ask_rq_lock - lock p->pi_lock and lock the rq @p resides on.
993  If Not dl_task(p) Then Go to unlock
1000  If dl_boosted Then Go to unlock
1007  If Not * 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 Go to unlock
1010  sched_clock_tick()
1011  update_rq_clock(rq)
1027  If Not task_on_rq_queued(p) Then
1028  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
1029  Go to unlock
1051  enqueue_task_dl(rq, p, ENQUEUE_REPLENISH)
1052  If dl_task(curr) Then check_preempt_curr_dl(rq, p, 0)
1054  Else sched_curr - mark rq's current task 'to be rescheduled now'.* On UP this means the setting of the need_resched flag, on SMP it* might also involve a cross-CPU call to trigger the scheduler on* the target CPU.
1073  unlock :
1074  task_rq_unlock(rq, p, & rf)
1080  put_task_struct(p)
1082  Return Timer is not restarted