]> 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)
commit65a6ebd08353e14bcba244160a4038a79ca8e77d
tree6ee5becb6b01c952d8fb7d561e10c1e2967d7b99
parentfa952870143a422bf2edf4b6beaacc74109e29d3
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