]> git.baikalelectronics.ru Git - kernel.git/commit
nohz: Assign timekeeping duty to a CPU outside the full dynticks range
authorFrederic Weisbecker <fweisbec@gmail.com>
Tue, 18 Dec 2012 17:24:35 +0000 (18:24 +0100)
committerFrederic Weisbecker <fweisbec@gmail.com>
Thu, 21 Mar 2013 14:55:45 +0000 (15:55 +0100)
commit8e3ebd46110efc90545fcd4437d3fa27623047ee
tree6ee5becb6b01c952d8fb7d561e10c1e2967d7b99
parented7c2bbe328bede05e2d59edb2e23e5cf7fb3c13
nohz: Assign timekeeping duty to a CPU outside the full dynticks range

This way the full nohz CPUs can safely run with the tick
stopped with a guarantee that somebody else is taking
care of the jiffies and GTOD progression.

Once the duty is attributed to a CPU, it won't change. Also that
CPU can't enter into dyntick idle mode or be hot unplugged.

This may later be improved from a power consumption POV. At
least we should be able to share the duty amongst all CPUs
outside the full dynticks range. Then the duty could even be
shared with full dynticks CPUs when those can't stop their
tick for any reason.

But let's start with that very simple approach first.

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>
[fix have_nohz_full_mask offcase]
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/time/tick-broadcast.c
kernel/time/tick-common.c
kernel/time/tick-sched.c