Commit 425e0968a25fa3f111f9919964cac079738140b5 ("sched: move code into kernel/sched_stats.h") appears to have inadvertently changed the unit of time from jiffies to nanoseconds as part of the implementation of CFS. Signed-off-by: Phil Frost <indigo@xxxxxxxxxxx> --- Documentation/scheduler/sched-stats.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Documentation/scheduler/sched-stats.txt b/Documentation/scheduler/sched-stats.txt index 8259b34a66ae..b6c1807a01b3 100644 --- a/Documentation/scheduler/sched-stats.txt +++ b/Documentation/scheduler/sched-stats.txt @@ -19,6 +19,11 @@ are no architectures which need more than three domain levels. The first field in the domain stats is a bit map indicating which cpus are affected by that domain. +2.6.23 introduced the CFS scheduler, and also an inadvertent +backwards-incompatible change to the statistics. Although the schedstat version +is 14 in either case, in 2.6.23 and later, counters accumulate time in +nanoseconds. Prior to that, jiffies. + These fields are counters, and only increment. Programs which make use of these will need to start with a baseline observation and then calculate the change in the counters at each subsequent observation. A perl script @@ -48,9 +53,10 @@ Next two are try_to_wake_up() statistics: 6) # of times try_to_wake_up() was called to wake up the local cpu Next three are statistics describing scheduling latency: - 7) sum of all time spent running by tasks on this processor (in jiffies) + 7) sum of all time spent running by tasks on this processor (in + nanoseconds, or jiffies prior to 2.6.23) 8) sum of all time spent waiting to run by tasks on this processor (in - jiffies) + nanoseconds, or jiffies prior to 2.6.23) 9) # of timeslices run on this cpu -- 2.20.1 (Apple Git-117)