OpenCloudOS-Kernel/kernel/time
Siddha, Suresh B 46cb4b7c88 sched: dynticks idle load balancing
Fix the process idle load balancing in the presence of dynticks.  cpus for
which ticks are stopped will sleep till the next event wakes it up.
Potentially these sleeps can be for large durations and during which today,
there is no periodic idle load balancing being done.

This patch nominates an owner among the idle cpus, which does the idle load
balancing on behalf of the other idle cpus.  And once all the cpus are
completely idle, then we can stop this idle load balancing too.  Checks added
in fast path are minimized.  Whenever there are busy cpus in the system, there
will be an owner(idle cpu) doing the system wide idle load balancing.

Open items:
1. Intelligent owner selection (like an idle core in a busy package).
2. Merge with rcu's nohz_cpu_mask?

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:17 -07:00
..
Kconfig [PATCH] hrtimers: add high resolution timer support 2007-02-16 08:13:59 -08:00
Makefile Move timekeeping code to timekeeping.c 2007-05-08 11:15:06 -07:00
clockevents.c [PATCH] clockevents: remove bad designed sysfs support for now 2007-03-26 14:07:23 -07:00
clocksource.c [PATCH] clocksource: Fix thinko in watchdog selection 2007-03-25 14:57:34 -07:00
jiffies.c [PATCH] fix jiffies clocksource inittime 2007-04-04 21:12:47 -07:00
ntp.c [PATCH] ntp: avoid time_offset overflows 2007-03-27 09:05:15 -07:00
tick-broadcast.c [PATCH] clockevents: Fix suspend/resume to disk hangs 2007-03-16 19:35:25 -07:00
tick-common.c highres/dyntick: prevent xtime lock contention 2007-05-08 11:15:10 -07:00
tick-internal.h highres/dyntick: prevent xtime lock contention 2007-05-08 11:15:10 -07:00
tick-oneshot.c [PATCH] clockevents: Fix suspend/resume to disk hangs 2007-03-16 19:35:25 -07:00
tick-sched.c sched: dynticks idle load balancing 2007-05-08 11:15:17 -07:00
timekeeping.c Move timekeeping code to timekeeping.c 2007-05-08 11:15:06 -07:00
timer_list.c Fix race between cat /proc/*/wchan and rmmod et al 2007-05-08 11:15:08 -07:00
timer_stats.c Fix race between cat /proc/*/wchan and rmmod et al 2007-05-08 11:15:08 -07:00