diff options
author | Alex Shi <alex.shi@linaro.org> | 2014-01-23 05:39:54 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-02-11 03:58:18 -0500 |
commit | 37e6bae8395a94b4dd934c92b02b9408be992365 (patch) | |
tree | 212a4ad2745dd3322ec3cd4f5e4392718b6f3324 /kernel | |
parent | 27f17580fd2c7514c8f5cce22ab903c6f3ddf458 (diff) |
sched: Add statistic for newidle load balance cost
Tracking rq->max_idle_balance_cost and sd->max_newidle_lb_cost.
It's useful to know these values in debug mode.
Signed-off-by: Alex Shi <alex.shi@linaro.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/52E0F3BF.5020904@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched/core.c | 9 | ||||
-rw-r--r-- | kernel/sched/debug.c | 1 |
2 files changed, 7 insertions, 3 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 3068f37f7c5f..fb9764fbc537 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -4811,7 +4811,7 @@ set_table_entry(struct ctl_table *entry, | |||
4811 | static struct ctl_table * | 4811 | static struct ctl_table * |
4812 | sd_alloc_ctl_domain_table(struct sched_domain *sd) | 4812 | sd_alloc_ctl_domain_table(struct sched_domain *sd) |
4813 | { | 4813 | { |
4814 | struct ctl_table *table = sd_alloc_ctl_entry(13); | 4814 | struct ctl_table *table = sd_alloc_ctl_entry(14); |
4815 | 4815 | ||
4816 | if (table == NULL) | 4816 | if (table == NULL) |
4817 | return NULL; | 4817 | return NULL; |
@@ -4839,9 +4839,12 @@ sd_alloc_ctl_domain_table(struct sched_domain *sd) | |||
4839 | sizeof(int), 0644, proc_dointvec_minmax, false); | 4839 | sizeof(int), 0644, proc_dointvec_minmax, false); |
4840 | set_table_entry(&table[10], "flags", &sd->flags, | 4840 | set_table_entry(&table[10], "flags", &sd->flags, |
4841 | sizeof(int), 0644, proc_dointvec_minmax, false); | 4841 | sizeof(int), 0644, proc_dointvec_minmax, false); |
4842 | set_table_entry(&table[11], "name", sd->name, | 4842 | set_table_entry(&table[11], "max_newidle_lb_cost", |
4843 | &sd->max_newidle_lb_cost, | ||
4844 | sizeof(long), 0644, proc_doulongvec_minmax, false); | ||
4845 | set_table_entry(&table[12], "name", sd->name, | ||
4843 | CORENAME_MAX_SIZE, 0444, proc_dostring, false); | 4846 | CORENAME_MAX_SIZE, 0444, proc_dostring, false); |
4844 | /* &table[12] is terminator */ | 4847 | /* &table[13] is terminator */ |
4845 | 4848 | ||
4846 | return table; | 4849 | return table; |
4847 | } | 4850 | } |
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 31b908daaa1b..f3344c31632a 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c | |||
@@ -321,6 +321,7 @@ do { \ | |||
321 | P(sched_goidle); | 321 | P(sched_goidle); |
322 | #ifdef CONFIG_SMP | 322 | #ifdef CONFIG_SMP |
323 | P64(avg_idle); | 323 | P64(avg_idle); |
324 | P64(max_idle_balance_cost); | ||
324 | #endif | 325 | #endif |
325 | 326 | ||
326 | P(ttwu_count); | 327 | P(ttwu_count); |