|author||Frederic Weisbecker <firstname.lastname@example.org>||2013-07-24 21:59:29 +0200|
|committer||Frederic Weisbecker <email@example.com>||2013-08-13 00:54:34 +0200|
context_tracking: Remove full dynticks' hacky dependency on wide context tracking
Now that the full dynticks subsystem only enables the context tracking on full dynticks CPUs, lets remove the dependency on CONTEXT_TRACKING_FORCE This dependency was a hack to enable the context tracking widely for the full dynticks susbsystem until the latter becomes able to enable it in a more CPU-finegrained fashion. Now CONTEXT_TRACKING_FORCE only stands for testing on archs that work on support for the context tracking while full dynticks can't be used yet due to unmet dependencies. It simulates a system where all CPUs are full dynticks so that RCU user extended quiescent states and dynticks cputime accounting can be tested on the given arch. Signed-off-by: Frederic Weisbecker <firstname.lastname@example.org> Cc: Steven Rostedt <email@example.com> Cc: Paul E. McKenney <firstname.lastname@example.org> Cc: Ingo Molnar <email@example.com> Cc: Thomas Gleixner <firstname.lastname@example.org> Cc: Peter Zijlstra <email@example.com> Cc: Borislav Petkov <firstname.lastname@example.org> Cc: Li Zhong <email@example.com> Cc: Mike Galbraith <firstname.lastname@example.org> Cc: Kevin Hilman <email@example.com>
Diffstat (limited to 'init')
1 files changed, 22 insertions, 6 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 247084be059..ffbf5d788bf 100644
@@ -527,13 +527,29 @@ config RCU_USER_QS
bool "Force context tracking"
depends on CONTEXT_TRACKING
- default CONTEXT_TRACKING
+ default y if !NO_HZ_FULL
- Probe on user/kernel boundaries by default in order to
- test the features that rely on it such as userspace RCU extended
- quiescent states.
- This test is there for debugging until we have a real user like the
- full dynticks mode.
+ The major pre-requirement for full dynticks to work is to
+ support the context tracking subsystem. But there are also
+ other dependencies to provide in order to make the full
+ dynticks working.
+ This option stands for testing when an arch implements the
+ context tracking backend but doesn't yet fullfill all the
+ requirements to make the full dynticks feature working.
+ Without the full dynticks, there is no way to test the support
+ for context tracking and the subsystems that rely on it: RCU
+ userspace extended quiescent state and tickless cputime
+ accounting. This option copes with the absence of the full
+ dynticks subsystem by forcing the context tracking on all
+ CPUs in the system.
+ Say Y only if you're working on the developpement of an
+ architecture backend for the context tracking.
+ Say N otherwise, this option brings an overhead that you
+ don't want in production.
int "Tree-based hierarchical RCU fanout value"