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 | }; |
