aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2013-07-24 15:59:29 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2013-08-12 18:54:34 -0400
commitd84d27a491880b9902b45c09be8d9e9464fb9b74 (patch)
tree42d5c777dba71b3cfb119d918ff5ae90f4d8a20c /init
parent2e70933866ace52091a3c11a5c104c063ab0c445 (diff)
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 <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>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig28
1 files changed, 22 insertions, 6 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 247084be0590..ffbf5d788bf3 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -527,13 +527,29 @@ config RCU_USER_QS
527config CONTEXT_TRACKING_FORCE 527config CONTEXT_TRACKING_FORCE
528 bool "Force context tracking" 528 bool "Force context tracking"
529 depends on CONTEXT_TRACKING 529 depends on CONTEXT_TRACKING
530 default CONTEXT_TRACKING 530 default y if !NO_HZ_FULL
531 help 531 help
532 Probe on user/kernel boundaries by default in order to 532 The major pre-requirement for full dynticks to work is to
533 test the features that rely on it such as userspace RCU extended 533 support the context tracking subsystem. But there are also
534 quiescent states. 534 other dependencies to provide in order to make the full
535 This test is there for debugging until we have a real user like the 535 dynticks working.
536 full dynticks mode. 536
537 This option stands for testing when an arch implements the
538 context tracking backend but doesn't yet fullfill all the
539 requirements to make the full dynticks feature working.
540 Without the full dynticks, there is no way to test the support
541 for context tracking and the subsystems that rely on it: RCU
542 userspace extended quiescent state and tickless cputime
543 accounting. This option copes with the absence of the full
544 dynticks subsystem by forcing the context tracking on all
545 CPUs in the system.
546
547 Say Y only if you're working on the developpement of an
548 architecture backend for the context tracking.
549
550 Say N otherwise, this option brings an overhead that you
551 don't want in production.
552
537 553
538config RCU_FANOUT 554config RCU_FANOUT
539 int "Tree-based hierarchical RCU fanout value" 555 int "Tree-based hierarchical RCU fanout value"