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
質問する
2513 次
1 に答える
8
私はカーネルソースに潜んでいて、何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));
raw_smp_processor_id
現在のスレッドを実行している CPU の ID を返します。
so...は、 2 回呼び出されたclock-delta
ときに返される 2 つの値の差です。cpu_clock()
kernel/sched/clock.c
この関数の説明を見つけました:
cpu_clock(i) は、
CPU 間のドリフトが制限された、高速 (実行時間) の高解像度クロックを提供します。cpu_clock(i) の値は、定数 i に対して単調です。返されるタイムスタンプはナノ秒単位です。
于 2013-02-22T14:40:28.593 に答える