bob*_*bah 3 linux linux-kernel procfs
main (xxxxx, #threads: xxxxx)
---------------------------------------------------------
se.exec_start : xxxx
se.vruntime : xxxx
se.sum_exec_runtime : xxxx
se.wait_start : xxxx
...
policy : xxxx
prio : xxxx
clock-delta : 58 <== this one
Run Code Online (Sandbox Code Playgroud)
我潜伏到内核源代码中找出clock-delta代表什么.
我找到了/proc/pid/sched读取时将其打印出来的功能.
这是proc_sched_show_task,这是到kernel/sched/debug.c文件中.
我深深地发现了打印出来的代码部分clock-delta...这里是:
unsigned int this_cpu = raw_smp_processor_id();
u64 t0, t1;
t0 = cpu_clock(this_cpu);
t1 = cpu_clock(this_cpu);
SEQ_printf(m, "%-35s:%21Ld\n",
"clock-delta", (long long)(t1-t0));
Run Code Online (Sandbox Code Playgroud)
raw_smp_processor_id 返回运行当前线程的CPU的id.
so ... clock-delta是被cpu_clock()调用两次返回的两个值之间的差异.
到kernel/sched/clock.c我发现这个功能的描述:
cpu_clock(i)提供了一个快速(执行时间)高分辨率
时钟,CPU之间存在有界漂移.对于常数i,cpu_clock(i)的值是单调的.返回的时间戳以纳秒为单位.
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |