Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:enqueue_task_dl

Proto:static void enqueue_task_dl(struct rq *rq, struct task_struct *p, int flags)

Type:void

Parameter:

TypeParameterName
struct rq *rq
struct task_struct *p
intflags
1474  pi_task = rt_mutex_get_top_task(p)
1475  pi_se = dl
1485  If pi_task && dl_prio(normal_prio) && dl_boosted Then
1486  pi_se = dl
1487  Else if Not dl_prio(normal_prio) Then
1495  BUG_ON(!dl_boosted || flags != ENQUEUE_REPLENISH)
1496  Return
1505  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 && Not Regarding the deadline, a task with implicit deadline has a relative* deadline == relative period. A task with constrained deadline has a* relative deadline <= relative period.* We support constrained deadline tasks. However, there are some restrictions Then During the activation, CBS checks if it can reuse the current task's* runtime and period
1508  If on_rq == TASK_ON_RQ_MIGRATING || flags & ENQUEUE_RESTORE Then
1509  add_rq_bw( & dl, & dl)
1510  add_running_bw( & dl, & dl)
1525  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 && Not (flags & ENQUEUE_REPLENISH) Then
1526  If flags & ENQUEUE_WAKEUP Then task_contending( & dl, flags)
1529  Return
1532  enqueue_dl_entity( & dl, pi_se, flags)
1534  If Not task_current(rq, p) && nr_cpus_allowed > 1 Then enqueue_pushable_dl_task(rq, p)
Caller
NameDescribe
dl_task_timerThis is the bandwidth enforcement timer callback
update_curr_dlUpdate the current task's runtime statistics (provided it is still* a -deadline task and has not been removed from the dl_rq).