4
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
4

1 に答える 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 に答える