[PATCH] Correct documentation for /proc/schedstat

From: Phil Frost
Date: Wed Jul 24 2019 - 14:53:28 EST


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)