diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2013-07-24 15:59:29 -0400 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2013-08-12 18:54:34 -0400 |
commit | d84d27a491880b9902b45c09be8d9e9464fb9b74 (patch) | |
tree | 42d5c777dba71b3cfb119d918ff5ae90f4d8a20c /init | |
parent | 2e70933866ace52091a3c11a5c104c063ab0c445 (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/Kconfig | 28 |
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 | |||
527 | config CONTEXT_TRACKING_FORCE | 527 | config 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 | ||
538 | config RCU_FANOUT | 554 | config RCU_FANOUT |
539 | int "Tree-based hierarchical RCU fanout value" | 555 | int "Tree-based hierarchical RCU fanout value" |