进程t即将失去CPU控制权
汇总进程t占用CPU的时间总和;进程t所在runqueue占用CPU的时间总和
static inline void sched_info_depart(task_t *t)
{
struct runqueue *rq = task_rq(t);
unsigned long diff = jiffies - t->sched_info.last_arrival;

t->sched_info.cpu_time += diff;

if (rq)
rq->rq_sched_info.cpu_time += diff;
}
task_struct.sched_info.last_arrival
when we last ran on a cpu(最近一次获得CPU控制权的时间)
task_struct.sched_info.cpu_time
time spent on the cpu
汇总进程t占用CPU的时间总和;进程t所在runqueue占用CPU的时间总和
static inline void sched_info_depart(task_t *t)
{
struct runqueue *rq = task_rq(t);
unsigned long diff = jiffies - t->sched_info.last_arrival;
t->sched_info.cpu_time += diff;
if (rq)
rq->rq_sched_info.cpu_time += diff;
}task_struct.sched_info.last_arrival
when we last ran on a cpu(最近一次获得CPU控制权的时间)
task_struct.sched_info.cpu_time
time spent on the cpu
本文介绍了一个内核级函数sched_info_depart,该函数用于在进程失去CPU控制权时更新进程及所属runqueue的CPU使用时间。具体包括:最近一次获得CPU控制权的时间(last_arrival)和进程占用CPU的总时间(cpu_time)。

1474

被折叠的 条评论
为什么被折叠?



