函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:inactive_task_timer

函数原型:static enum hrtimer_restart inactive_task_timer(struct hrtimer *timer)

返回类型:enum hrtimer_restart

参数:

类型参数名称
struct hrtimer *timer
1284  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, inactive_timer)
1287  p等于dl_task_of(dl_se)
1291  rq等于ask_rq_lock - lock p->pi_lock and lock the rq @p resides on.
1293  sched_clock_tick()
1294  更新rq运行时间
1296  如果非dl_task(p)或任务状态恒等于TASK_DEAD
1297  dl_b等于dl_bw_of(task_cpu(p))
1299  如果任务状态恒等于TASK_DEADdl_non_contending
1300  sub_running_bw( & dl, dl_rq_of_se( & dl))
1301  sub_rq_bw( & dl, dl_rq_of_se( & dl))
1302  dl_non_contending等于0
1305  raw_spin_lock( & lock)
1306  __dl_sub(dl_b, dl_runtime / dl_period , dl_bw_cpus(task_cpu(p)))
1307  raw_spin_unlock( & lock)
1308  This function clears the sched_dl_entity static params.
1310  转到:unlock
1312  如果dl_non_contending恒等于0则转到:unlock
1315  sub_running_bw(dl_se, & dl)
1316  dl_non_contending等于0
1317  unlock :
1318  task_rq_unlock(rq, p, & rf)
1319  put_task_struct(p)
1321  返回:Timer is not restarted