函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Update the current task's runtime statistics. Skip current tasks that* are not in our scheduling class.

函数原型:static void update_curr_rt(struct rq *rq)

返回类型:void

参数:

类型参数名称
struct rq *rq
957  curr等于当前任务
958  rt_se等于实时任务调度实体
962  如果调度函数不等于rt_sched_class则返回
965  now等于rq_clock_task(rq)
966  delta_exec等于nowexec_start
967  如果此条件成立可能性小(为编译器优化)((s64)delta_exec <= 0)则返回
970  schedstat_set(exec_max, 两数取大(exec_max, delta_exec))
973  sum_exec_runtime加等于delta_exec
974  account_group_exec_runtime - Maintain exec runtime for a thread group
976  exec_start等于now
977  cgroup_account_cputime(curr, delta_exec)
979  如果非rt_bandwidth_enabled()则返回
983  rt_rq等于rt_rq_of_se(rt_se)
985  如果sched_rt_runtime(rt_rq)不等于Single value that denotes runtime == period, ie unlimited time.
986  raw_spin_lock( & Nests inside the rq lock: )
987  rt_time加等于delta_exec
988  如果sched_rt_runtime_exceeded(rt_rq)则标记当前进程需要被调度出去
990  raw_spin_unlock( & Nests inside the rq lock: )
调用者
名称描述
dequeue_task_rt
put_prev_task_rt
task_tick_rtscheduler tick hitting a task of our scheduling class