diff options
Diffstat (limited to 'kernel/rcu/update.c')
-rw-r--r-- | kernel/rcu/update.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/rcu/update.c b/kernel/rcu/update.c index 5f748c5a40f0..8fccda3a794d 100644 --- a/kernel/rcu/update.c +++ b/kernel/rcu/update.c | |||
@@ -61,6 +61,7 @@ MODULE_ALIAS("rcupdate"); | |||
61 | #define MODULE_PARAM_PREFIX "rcupdate." | 61 | #define MODULE_PARAM_PREFIX "rcupdate." |
62 | 62 | ||
63 | module_param(rcu_expedited, int, 0); | 63 | module_param(rcu_expedited, int, 0); |
64 | module_param(rcu_normal, int, 0); | ||
64 | 65 | ||
65 | #if defined(CONFIG_DEBUG_LOCK_ALLOC) && defined(CONFIG_PREEMPT_COUNT) | 66 | #if defined(CONFIG_DEBUG_LOCK_ALLOC) && defined(CONFIG_PREEMPT_COUNT) |
66 | /** | 67 | /** |
@@ -113,6 +114,17 @@ EXPORT_SYMBOL(rcu_read_lock_sched_held); | |||
113 | 114 | ||
114 | #ifndef CONFIG_TINY_RCU | 115 | #ifndef CONFIG_TINY_RCU |
115 | 116 | ||
117 | /* | ||
118 | * Should expedited grace-period primitives always fall back to their | ||
119 | * non-expedited counterparts? Intended for use within RCU. Note | ||
120 | * that if the user specifies both rcu_expedited and rcu_normal, then | ||
121 | * rcu_normal wins. | ||
122 | */ | ||
123 | bool rcu_gp_is_normal(void) | ||
124 | { | ||
125 | return READ_ONCE(rcu_normal); | ||
126 | } | ||
127 | |||
116 | static atomic_t rcu_expedited_nesting = | 128 | static atomic_t rcu_expedited_nesting = |
117 | ATOMIC_INIT(IS_ENABLED(CONFIG_RCU_EXPEDITE_BOOT) ? 1 : 0); | 129 | ATOMIC_INIT(IS_ENABLED(CONFIG_RCU_EXPEDITE_BOOT) ? 1 : 0); |
118 | 130 | ||