aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--init/Kconfig8
-rw-r--r--kernel/rcutree.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/init/Kconfig b/init/Kconfig
index f6a1830165ce..c26b8a1d2b57 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -451,6 +451,14 @@ config RCU_USER_QS
451 excluded from the global RCU state machine and thus doesn't 451 excluded from the global RCU state machine and thus doesn't
452 to keep the timer tick on for RCU. 452 to keep the timer tick on for RCU.
453 453
454config RCU_USER_QS_FORCE
455 bool "Force userspace extended QS by default"
456 depends on RCU_USER_QS
457 help
458 Set the hooks in user/kernel boundaries by default in order to
459 test this feature that treats userspace as an extended quiescent
460 state until we have a real user like a full adaptive nohz option.
461
454config RCU_FANOUT 462config RCU_FANOUT
455 int "Tree-based hierarchical RCU fanout value" 463 int "Tree-based hierarchical RCU fanout value"
456 range 2 64 if 64BIT 464 range 2 64 if 64BIT
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index d2e74c8d4b0e..812d04b6b395 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -206,7 +206,7 @@ EXPORT_SYMBOL_GPL(rcu_note_context_switch);
206DEFINE_PER_CPU(struct rcu_dynticks, rcu_dynticks) = { 206DEFINE_PER_CPU(struct rcu_dynticks, rcu_dynticks) = {
207 .dynticks_nesting = DYNTICK_TASK_EXIT_IDLE, 207 .dynticks_nesting = DYNTICK_TASK_EXIT_IDLE,
208 .dynticks = ATOMIC_INIT(1), 208 .dynticks = ATOMIC_INIT(1),
209#ifdef CONFIG_RCU_USER_QS 209#if defined(CONFIG_RCU_USER_QS) && !defined(CONFIG_RCU_USER_QS_FORCE)
210 .ignore_user_qs = true, 210 .ignore_user_qs = true,
211#endif 211#endif
212}; 212};