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 | } |
