函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:If the entity depleted all its runtime, and if we want it to sleep* while waiting for some new execution time to become available, we* set the bandwidth replenishment timer to the replenishment instant* and try to activate it

函数原型:static int start_dl_timer(struct task_struct *p)

返回类型:int

参数:

类型参数名称
struct task_struct *p
922  dl_se等于dl
923  timer等于* Bandwidth enforcement timer. Each -deadline task has its * own bandwidth to be enforced, thus we need one timer per task.
924  rq等于task_rq(p)
928  lockdep_assert_held( & 运行队列锁)
935  act等于ns_to_ktime(dl_next_period(dl_se))
936  now等于hrtimer_cb_get_time(timer)
937  delta等于Convert ktime_t to nanoseconds rq_clock(rq)
938  act等于Add a ktime_t variable and a scalar nanosecond value.* res = kt + nsval:(act, delta)
945  如果ktime_us_delta(act, now)小于0则返回:0
957  如果非hrtimer_is_queued = check, whether the timer is on one of the queues*@timer: Timer to check* Returns: True if the timer is queued, false otherwise* The function can be used lockless, but it gives only a current snapshot.
958  get_task_struct(p)
959  重启cpu高精度定时器
962  返回:1
调用者
名称描述
dl_check_constrained_dlDuring the activation, CBS checks if it can reuse the current task's* runtime and period
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).