sched: Initialize power_orig for overlapping groups
authorPeter Zijlstra <peterz@infradead.org>
Wed, 11 Dec 2013 10:09:53 +0000 (11:09 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 11 Dec 2013 14:47:59 +0000 (15:47 +0100)
Yinghai reported that he saw a /0 in sg_capacity on his EX parts.
Make sure to always initialize power_orig now that we actually use it.

Ideally build_sched_domains() -> init_sched_groups_power() would also
initialize this; but for some yet unexplained reason some setups seem
to miss updates there.

Reported-by: Yinghai Lu <yinghai@kernel.org>
Tested-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-l8ng2m9uml6fhibln8wqpom7@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/core.c

index e85cda20ab2b8ed6694d1cfa4a617b1bf231569d..19af58f3a261c02b14f0fda441658099f3a1eed1 100644 (file)
@@ -5112,6 +5112,7 @@ build_overlap_sched_groups(struct sched_domain *sd, int cpu)
                 * die on a /0 trap.
                 */
                sg->sgp->power = SCHED_POWER_SCALE * cpumask_weight(sg_span);
+               sg->sgp->power_orig = sg->sgp->power;
 
                /*
                 * Make sure the first group of this domain contains the