summaryrefslogtreecommitdiff
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2012-04-25 02:30:36 +0400
committerIngo Molnar <mingo@kernel.org>2012-05-09 17:00:53 +0400
commit0ce90475dcdbe90affc218e9688c8401e468e84d (patch)
tree30771f6a6791af0214c5e7d57958f6395f3b97f5 /include/linux/sched.h
parentc22402a2f76e88b04b7a8b6c0597ad9ba6fd71de (diff)
downloadlinux-0ce90475dcdbe90affc218e9688c8401e468e84d.tar.xz
sched/fair: Add some serialization to the sched_domain load-balance walk
Since the sched_domain walk is completely unserialized (!SD_SERIALIZE) it is possible that multiple cpus in the group get elected to do the next level. Avoid this by adding some serialization. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/n/tip-vqh9ai6s0ewmeakjz80w4qz6@git.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 4a559bf0622f..3cbfb55bde25 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -927,6 +927,7 @@ struct sched_group_power {
struct sched_group {
struct sched_group *next; /* Must be a circular list */
atomic_t ref;
+ int balance_cpu;
unsigned int group_weight;
struct sched_group_power *sgp;