sched, nohz: Track nr_busy_cpus in the sched_group_power
authorSuresh Siddha <suresh.b.siddha@intel.com>
Fri, 2 Dec 2011 01:07:33 +0000 (17:07 -0800)
committerIngo Molnar <mingo@elte.hu>
Tue, 6 Dec 2011 08:06:32 +0000 (09:06 +0100)
commit69e1e811dcc436a6b129dbef273ad9ec22d095ce
treef07179af4989178733727683796927948db9059a
parent1c792db7f7957e2e34b9a164f08200e36a25dfd0
sched, nohz: Track nr_busy_cpus in the sched_group_power

Introduce nr_busy_cpus in the struct sched_group_power [Not in sched_group
because sched groups are duplicated for the SD_OVERLAP scheduler domain]
and for each cpu that enters and exits idle, this parameter will
be updated in each scheduler group of the scheduler domain that this cpu
belongs to.

To avoid the frequent update of this state as the cpu enters
and exits idle, the update of the stat during idle exit is
delayed to the first timer tick that happens after the cpu becomes busy.
This is done using NOHZ_IDLE flag in the struct rq's nohz_flags.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20111202010832.555984323@sbsiddha-desk.sc.intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/sched.h
kernel/sched/core.c
kernel/sched/fair.c
kernel/sched/sched.h
kernel/time/tick-sched.c