diff options
Diffstat (limited to 'kernel/sched/debug.c')
-rw-r--r-- | kernel/sched/debug.c | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 75024a673520..e076bddd4c66 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c | |||
@@ -209,22 +209,24 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) | |||
209 | cfs_rq->nr_spread_over); | 209 | cfs_rq->nr_spread_over); |
210 | SEQ_printf(m, " .%-30s: %d\n", "nr_running", cfs_rq->nr_running); | 210 | SEQ_printf(m, " .%-30s: %d\n", "nr_running", cfs_rq->nr_running); |
211 | SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight); | 211 | SEQ_printf(m, " .%-30s: %ld\n", "load", cfs_rq->load.weight); |
212 | #ifdef CONFIG_FAIR_GROUP_SCHED | ||
213 | #ifdef CONFIG_SMP | 212 | #ifdef CONFIG_SMP |
214 | SEQ_printf(m, " .%-30s: %lld\n", "runnable_load_avg", | 213 | SEQ_printf(m, " .%-30s: %ld\n", "runnable_load_avg", |
215 | cfs_rq->runnable_load_avg); | 214 | cfs_rq->runnable_load_avg); |
216 | SEQ_printf(m, " .%-30s: %lld\n", "blocked_load_avg", | 215 | SEQ_printf(m, " .%-30s: %ld\n", "blocked_load_avg", |
217 | cfs_rq->blocked_load_avg); | 216 | cfs_rq->blocked_load_avg); |
218 | SEQ_printf(m, " .%-30s: %lld\n", "tg_load_avg", | 217 | #ifdef CONFIG_FAIR_GROUP_SCHED |
219 | (unsigned long long)atomic64_read(&cfs_rq->tg->load_avg)); | 218 | SEQ_printf(m, " .%-30s: %ld\n", "tg_load_contrib", |
220 | SEQ_printf(m, " .%-30s: %lld\n", "tg_load_contrib", | ||
221 | cfs_rq->tg_load_contrib); | 219 | cfs_rq->tg_load_contrib); |
222 | SEQ_printf(m, " .%-30s: %d\n", "tg_runnable_contrib", | 220 | SEQ_printf(m, " .%-30s: %d\n", "tg_runnable_contrib", |
223 | cfs_rq->tg_runnable_contrib); | 221 | cfs_rq->tg_runnable_contrib); |
222 | SEQ_printf(m, " .%-30s: %ld\n", "tg_load_avg", | ||
223 | atomic_long_read(&cfs_rq->tg->load_avg)); | ||
224 | SEQ_printf(m, " .%-30s: %d\n", "tg->runnable_avg", | 224 | SEQ_printf(m, " .%-30s: %d\n", "tg->runnable_avg", |
225 | atomic_read(&cfs_rq->tg->runnable_avg)); | 225 | atomic_read(&cfs_rq->tg->runnable_avg)); |
226 | #endif | 226 | #endif |
227 | #endif | ||
227 | 228 | ||
229 | #ifdef CONFIG_FAIR_GROUP_SCHED | ||
228 | print_cfs_group_stats(m, cpu, cfs_rq->tg); | 230 | print_cfs_group_stats(m, cpu, cfs_rq->tg); |
229 | #endif | 231 | #endif |
230 | } | 232 | } |
@@ -493,15 +495,16 @@ void proc_sched_show_task(struct task_struct *p, struct seq_file *m) | |||
493 | SEQ_printf(m, "%s (%d, #threads: %d)\n", p->comm, p->pid, | 495 | SEQ_printf(m, "%s (%d, #threads: %d)\n", p->comm, p->pid, |
494 | get_nr_threads(p)); | 496 | get_nr_threads(p)); |
495 | SEQ_printf(m, | 497 | SEQ_printf(m, |
496 | "---------------------------------------------------------\n"); | 498 | "---------------------------------------------------------" |
499 | "----------\n"); | ||
497 | #define __P(F) \ | 500 | #define __P(F) \ |
498 | SEQ_printf(m, "%-35s:%21Ld\n", #F, (long long)F) | 501 | SEQ_printf(m, "%-45s:%21Ld\n", #F, (long long)F) |
499 | #define P(F) \ | 502 | #define P(F) \ |
500 | SEQ_printf(m, "%-35s:%21Ld\n", #F, (long long)p->F) | 503 | SEQ_printf(m, "%-45s:%21Ld\n", #F, (long long)p->F) |
501 | #define __PN(F) \ | 504 | #define __PN(F) \ |
502 | SEQ_printf(m, "%-35s:%14Ld.%06ld\n", #F, SPLIT_NS((long long)F)) | 505 | SEQ_printf(m, "%-45s:%14Ld.%06ld\n", #F, SPLIT_NS((long long)F)) |
503 | #define PN(F) \ | 506 | #define PN(F) \ |
504 | SEQ_printf(m, "%-35s:%14Ld.%06ld\n", #F, SPLIT_NS((long long)p->F)) | 507 | SEQ_printf(m, "%-45s:%14Ld.%06ld\n", #F, SPLIT_NS((long long)p->F)) |
505 | 508 | ||
506 | PN(se.exec_start); | 509 | PN(se.exec_start); |
507 | PN(se.vruntime); | 510 | PN(se.vruntime); |
@@ -560,12 +563,18 @@ void proc_sched_show_task(struct task_struct *p, struct seq_file *m) | |||
560 | } | 563 | } |
561 | #endif | 564 | #endif |
562 | __P(nr_switches); | 565 | __P(nr_switches); |
563 | SEQ_printf(m, "%-35s:%21Ld\n", | 566 | SEQ_printf(m, "%-45s:%21Ld\n", |
564 | "nr_voluntary_switches", (long long)p->nvcsw); | 567 | "nr_voluntary_switches", (long long)p->nvcsw); |
565 | SEQ_printf(m, "%-35s:%21Ld\n", | 568 | SEQ_printf(m, "%-45s:%21Ld\n", |
566 | "nr_involuntary_switches", (long long)p->nivcsw); | 569 | "nr_involuntary_switches", (long long)p->nivcsw); |
567 | 570 | ||
568 | P(se.load.weight); | 571 | P(se.load.weight); |
572 | #ifdef CONFIG_SMP | ||
573 | P(se.avg.runnable_avg_sum); | ||
574 | P(se.avg.runnable_avg_period); | ||
575 | P(se.avg.load_avg_contrib); | ||
576 | P(se.avg.decay_count); | ||
577 | #endif | ||
569 | P(policy); | 578 | P(policy); |
570 | P(prio); | 579 | P(prio); |
571 | #undef PN | 580 | #undef PN |
@@ -579,7 +588,7 @@ void proc_sched_show_task(struct task_struct *p, struct seq_file *m) | |||
579 | 588 | ||
580 | t0 = cpu_clock(this_cpu); | 589 | t0 = cpu_clock(this_cpu); |
581 | t1 = cpu_clock(this_cpu); | 590 | t1 = cpu_clock(this_cpu); |
582 | SEQ_printf(m, "%-35s:%21Ld\n", | 591 | SEQ_printf(m, "%-45s:%21Ld\n", |
583 | "clock-delta", (long long)(t1-t0)); | 592 | "clock-delta", (long long)(t1-t0)); |
584 | } | 593 | } |
585 | } | 594 | } |