nohz: Wake up full dynticks CPUs when a timer gets enqueued
authorFrederic Weisbecker <fweisbec@gmail.com>
Wed, 10 Aug 2011 21:21:01 +0000 (23:21 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Thu, 21 Mar 2013 14:55:59 +0000 (15:55 +0100)
commit1c20091e77fc5a9b7d7d905176443b4822a23cdb
treeef3c2edc749ccfc87b5f9682973f54414de746c3
parenta382bf934449ddeb625167537ae81daa0211b477
nohz: Wake up full dynticks CPUs when a timer gets enqueued

Wake up a CPU when a timer list timer is enqueued there and
the target is part of the full dynticks range. Sending an IPI
to it makes it reconsidering the next timer to program on top
of recent updates.

This may later be improved by checking if the tick is really
stopped on the target. This would need some careful
synchronization though. So deal with such optimization later
and start simple.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Geoff Levand <geoff@infradead.org>
Cc: Gilad Ben Yossef <gilad@benyossef.com>
Cc: Hakan Akkan <hakanakkan@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Kevin Hilman <khilman@linaro.org>
Cc: Li Zhong <zhong@linux.vnet.ibm.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
include/linux/sched.h
kernel/sched/core.c
kernel/timer.c