aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_debug.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2007-10-15 11:00:06 -0400
committerIngo Molnar <mingo@elte.hu>2007-10-15 11:00:06 -0400
commit86d9560cb6bd85986e98b4c63705daec94406bd4 (patch)
treea55c72dc3f97635bbc9416cb179af46f60c9bd53 /kernel/sched_debug.c
parent9014623c0e3545be58a7f19f55793f6517bdc274 (diff)
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.c11
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)
109 109
110void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) 110void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
111{ 111{
112 s64 MIN_vruntime = -1, max_vruntime = -1, spread; 112 s64 MIN_vruntime = -1, min_vruntime, max_vruntime = -1,
113 spread, rq0_min_vruntime, spread0;
113 struct rq *rq = &per_cpu(runqueues, cpu); 114 struct rq *rq = &per_cpu(runqueues, cpu);
114 struct sched_entity *last; 115 struct sched_entity *last;
115 unsigned long flags; 116 unsigned long flags;
@@ -121,7 +122,6 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
121 122
122 P(fair_clock); 123 P(fair_clock);
123 P(exec_clock); 124 P(exec_clock);
124 P(min_vruntime);
125 125
126 spin_lock_irqsave(&rq->lock, flags); 126 spin_lock_irqsave(&rq->lock, flags);
127 if (cfs_rq->rb_leftmost) 127 if (cfs_rq->rb_leftmost)
@@ -129,14 +129,21 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
129 last = __pick_last_entity(cfs_rq); 129 last = __pick_last_entity(cfs_rq);
130 if (last) 130 if (last)
131 max_vruntime = last->vruntime; 131 max_vruntime = last->vruntime;
132 min_vruntime = rq->cfs.min_vruntime;
133 rq0_min_vruntime = per_cpu(runqueues, 0).cfs.min_vruntime;
132 spin_unlock_irqrestore(&rq->lock, flags); 134 spin_unlock_irqrestore(&rq->lock, flags);
133 SEQ_printf(m, " .%-30s: %Ld\n", "MIN_vruntime", 135 SEQ_printf(m, " .%-30s: %Ld\n", "MIN_vruntime",
134 (long long)MIN_vruntime); 136 (long long)MIN_vruntime);
137 SEQ_printf(m, " .%-30s: %Ld\n", "min_vruntime",
138 (long long)min_vruntime);
135 SEQ_printf(m, " .%-30s: %Ld\n", "max_vruntime", 139 SEQ_printf(m, " .%-30s: %Ld\n", "max_vruntime",
136 (long long)max_vruntime); 140 (long long)max_vruntime);
137 spread = max_vruntime - MIN_vruntime; 141 spread = max_vruntime - MIN_vruntime;
138 SEQ_printf(m, " .%-30s: %Ld\n", "spread", 142 SEQ_printf(m, " .%-30s: %Ld\n", "spread",
139 (long long)spread); 143 (long long)spread);
144 spread0 = min_vruntime - rq0_min_vruntime;
145 SEQ_printf(m, " .%-30s: %Ld\n", "spread0",
146 (long long)spread0);
140 147
141 P(wait_runtime); 148 P(wait_runtime);
142 P(wait_runtime_overruns); 149 P(wait_runtime_overruns);