函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

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

函数原型:static void task_non_contending(struct task_struct *p)

返回类型:void

参数:

类型参数名称
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  如果 Maximum runtime for each instance 恒等于0则返回
252  如果dl_entity_is_special(dl_se)则返回
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  如果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)则
272  如果dl_task(p)则sub_running_bw(dl_se, dl_rq)
274  如果非dl_task(p)或任务状态恒等于TASK_DEAD
275  dl_b等于dl_bw_of(task_cpu(p))
277  如果任务状态恒等于TASK_DEADsub_rq_bw( & dl, & dl)
279  raw_spin_lock( & lock)
282  raw_spin_unlock( & lock)
285  返回
288  dl_non_contending等于1
289  get_task_struct(p)
290  重启cpu高精度定时器
调用者
名称描述
dequeue_task_dl
switched_from_dl