2 #include <linux/slab.h>
13 #define SCHEDSTAT_VERSION 15
15 static int show_schedstat(
struct seq_file *seq,
void *
v)
29 struct sched_domain *
sd;
35 "cpu%d %u 0 %u %u %u %u %llu %llu %lu",
37 rq->sched_count, rq->sched_goidle,
38 rq->ttwu_count, rq->ttwu_local,
40 rq->rq_sched_info.run_delay, rq->rq_sched_info.pcount);
47 for_each_domain(cpu, sd) {
50 cpumask_scnprintf(mask_str, mask_len,
51 sched_domain_span(sd));
52 seq_printf(seq,
"domain%d %s", dcount++, mask_str);
57 sd->lb_balanced[itype],
59 sd->lb_imbalance[itype],
61 sd->lb_hot_gained[itype],
62 sd->lb_nobusyq[itype],
63 sd->lb_nobusyg[itype]);
66 " %u %u %u %u %u %u %u %u %u %u %u %u\n",
67 sd->alb_count, sd->alb_failed, sd->alb_pushed,
68 sd->sbe_count, sd->sbe_balanced, sd->sbe_pushed,
69 sd->sbf_count, sd->sbf_balanced, sd->sbf_pushed,
70 sd->ttwu_wake_remote, sd->ttwu_move_affine,
71 sd->ttwu_move_balance);
100 .open = schedstat_open,
106 static int __init proc_schedstat_init(
void)
108 proc_create(
"schedstat", 0,
NULL, &proc_schedstat_operations);