diff options
-rw-r--r-- | init/Kconfig | 28 | ||||
-rw-r--r-- | kernel/time/Kconfig | 1 |
2 files changed, 22 insertions, 7 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" |
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig index 70f27e89012b..747bbc70f53b 100644 --- a/kernel/time/Kconfig +++ b/kernel/time/Kconfig | |||
@@ -105,7 +105,6 @@ config NO_HZ_FULL | |||
105 | select RCU_USER_QS | 105 | select RCU_USER_QS |
106 | select RCU_NOCB_CPU | 106 | select RCU_NOCB_CPU |
107 | select VIRT_CPU_ACCOUNTING_GEN | 107 | select VIRT_CPU_ACCOUNTING_GEN |
108 | select CONTEXT_TRACKING_FORCE | ||
109 | select IRQ_WORK | 108 | select IRQ_WORK |
110 | help | 109 | help |
111 | Adaptively try to shutdown the tick whenever possible, even when | 110 | Adaptively try to shutdown the tick whenever possible, even when |