sched: Break out cpu_power from the sched_group structure

In order to prepare for non-unique sched_groups per domain, we need to
carry the cpu_power elsewhere, so put a level of indirection in.

Reported-and-tested-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/n/tip-qkho2byuhe4482fuknss40ad@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Peter Zijlstra
2011-07-14 13:00:06 +02:00
committed by Ingo Molnar
parent e6625fa48e
commit 9c3f75cbd1
3 changed files with 58 additions and 34 deletions

View File

@ -893,16 +893,20 @@ static inline int sd_power_saving_flags(void)
return 0;
}
struct sched_group {
struct sched_group *next; /* Must be a circular list */
atomic_t ref;
struct sched_group_power {
/*
* CPU power of this group, SCHED_LOAD_SCALE being max power for a
* single CPU.
*/
unsigned int cpu_power, cpu_power_orig;
unsigned int power, power_orig;
};
struct sched_group {
struct sched_group *next; /* Must be a circular list */
atomic_t ref;
unsigned int group_weight;
struct sched_group_power *sgp;
/*
* The CPUs this group covers.