diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-10-15 17:00:06 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-10-15 17:00:06 +0200 |
commit | 86d9560cb6bd85986e98b4c63705daec94406bd4 (patch) | |
tree | a55c72dc3f97635bbc9416cb179af46f60c9bd53 /kernel/sched_debug.c | |
parent | sched: handle vruntime 64-bit overflow (diff) | |
download | linux-86d9560cb6bd85986e98b4c63705daec94406bd4.tar.xz linux-86d9560cb6bd85986e98b4c63705daec94406bd4.zip |
sched: add more vruntime statistics
add more vruntime statistics.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/sched_debug.c')
-rw-r--r-- | kernel/sched_debug.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c index 75ccf7aa98f3..7a61706637c7 100644 --- a/kernel/sched_debug.c +++ b/kernel/sched_debug.c @@ -109,7 +109,8 @@ print_cfs_rq_runtime_sum(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) { - s64 MIN_vruntime = -1, max_vruntime = -1, spread; + s64 MIN_vruntime = -1, min_vruntime, max_vruntime = -1, + spread, rq0_min_vruntime, spread0; struct rq *rq = &per_cpu(runqueues, cpu); struct sched_entity *last; unsigned long flags; @@ -121,7 +122,6 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) P(fair_clock); P(exec_clock); - P(min_vruntime); spin_lock_irqsave(&rq->lock, flags); if (cfs_rq->rb_leftmost) @@ -129,14 +129,21 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) last = __pick_last_entity(cfs_rq); if (last) max_vruntime = last->vruntime; + min_vruntime = rq->cfs.min_vruntime; + rq0_min_vruntime = per_cpu(runqueues, 0).cfs.min_vruntime; spin_unlock_irqrestore(&rq->lock, flags); SEQ_printf(m, " .%-30s: %Ld\n", "MIN_vruntime", (long long)MIN_vruntime); + SEQ_printf(m, " .%-30s: %Ld\n", "min_vruntime", + (long long)min_vruntime); SEQ_printf(m, " .%-30s: %Ld\n", "max_vruntime", (long long)max_vruntime); spread = max_vruntime - MIN_vruntime; SEQ_printf(m, " .%-30s: %Ld\n", "spread", (long long)spread); + spread0 = min_vruntime - rq0_min_vruntime; + SEQ_printf(m, " .%-30s: %Ld\n", "spread0", + (long long)spread0); P(wait_runtime); P(wait_runtime_overruns); |