The unit mentioned in the documentation of scheduler statistics is
outdated which may mislead the readers.
The unit of statistics that is reported by /proc/schedstat is modified
to nanosecond, and the unit of statistics that is reported by
/proc/PID/schedstat is provided as well to make the context consistent.
The rq_cpu_time and the rq_sched_info.run_delay of a run queue, and the
sched_info.run_delay of a task are all updated based on the clock of the
run queue, while the se.sum_exec_runtime of a task is updated based on
the clock_task of the run queue of the task. Both the clock and
clock_task are relied on the return value of the function sched_clock()
which is in the unit of nanosecond.
Signed-off-by: Jui-Tse Huang <juitse.huang@gmail.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
the same information on a per-process level. There are three fields in
this file correlating for that process to:
- 1) time spent on the cpu
- 2) time spent waiting on a runqueue
+ 1) time spent on the cpu (in nanoseconds)
+ 2) time spent waiting on a runqueue (in nanoseconds)
3) # of timeslices run on this cpu
A program could be easily written to make use of these extra fields to