diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-10-15 11:00:06 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2007-10-15 11:00:06 -0400 |
commit | 86d9560cb6bd85986e98b4c63705daec94406bd4 (patch) | |
tree | a55c72dc3f97635bbc9416cb179af46f60c9bd53 | |
parent | 9014623c0e3545be58a7f19f55793f6517bdc274 (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>
-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) | |||
109 | 109 | ||
110 | void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) | 110 | void 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); |