nohz: Only enable context tracking on full dynticks CPUs
authorFrederic Weisbecker <fweisbec@gmail.com>
Tue, 9 Jul 2013 22:55:25 +0000 (00:55 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Mon, 12 Aug 2013 22:54:07 +0000 (00:54 +0200)
commit2e70933866ace52091a3c11a5c104c063ab0c445
treef931632cac249a8ca504eb4b0fa9373441d9cc89
parentd65ec12127a5b6c6d7f5331c78157dab98a20ff0
nohz: Only enable context tracking on full dynticks CPUs

The context tracking subsystem has the ability to selectively
enable the tracking on any defined subset of CPU. This means that
we can define a CPU range that doesn't run the context tracking
and another range that does.

Now what we want in practice is to enable the tracking on full
dynticks CPUs only. In order to perform this, we just need to pass
our full dynticks CPU range selection from the full dynticks
subsystem to the context tracking.

This way we can spare the overhead of RCU user extended quiescent
state and vtime maintainance on the CPUs that are outside the
full dynticks range. Just keep in mind the raw context tracking
itself is still necessary everywhere.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Li Zhong <zhong@linux.vnet.ibm.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Kevin Hilman <khilman@linaro.org>
include/linux/context_tracking.h
kernel/context_tracking.c
kernel/time/tick-sched.c