aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/update.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcu/update.c')
-rw-r--r--kernel/rcu/update.c12
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
63module_param(rcu_expedited, int, 0); 63module_param(rcu_expedited, int, 0);
64module_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 */
123bool rcu_gp_is_normal(void)
124{
125 return READ_ONCE(rcu_normal);
126}
127
116static atomic_t rcu_expedited_nesting = 128static 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