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 |
