diff options
-rw-r--r-- | init/Kconfig | 8 | ||||
-rw-r--r-- | kernel/rcutree.c | 2 |
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 | ||
454 | config 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 | |||
454 | config RCU_FANOUT | 462 | config 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); | |||
206 | DEFINE_PER_CPU(struct rcu_dynticks, rcu_dynticks) = { | 206 | DEFINE_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 | }; |