aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-05-03 11:34:57 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-06-08 21:52:27 -0400
commita68a2bb28bbf7a6dd4672a25bd87fd1b5db4fa7d (patch)
tree0b831581fcb1983d3f2921974086c6476b1ed49f /kernel/rcu/tree.c
parentaaaad0bfac019bb7701f92ebc1b31b4f85e47b55 (diff)
rcu: Move docbook comments out of rcupdate.h
The include/linux/rcupdate.h file is included by more than 200 files, so shrinking it should provide some build-time benefits. This commit therefore moves several docbook comments from rcupdate.h to kernel/rcu/update.c, kernel/rcu/tree.c, and kernel/rcu/tree_plugin.h, thus reducing the number of times that the compiler has to scan these comments. This likely provides only a small benefit, but every little bit helps. This commit also fixes a malformed bulleted list noted by the 0day Test Robot. Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c42
1 files changed, 38 insertions, 4 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 121c1436a7f3..5ebc830297c1 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -3223,8 +3223,24 @@ __call_rcu(struct rcu_head *head, rcu_callback_t func,
3223 local_irq_restore(flags); 3223 local_irq_restore(flags);
3224} 3224}
3225 3225
3226/* 3226/**
3227 * Queue an RCU-sched callback for invocation after a grace period. 3227 * call_rcu_sched() - Queue an RCU for invocation after sched grace period.
3228 * @head: structure to be used for queueing the RCU updates.
3229 * @func: actual callback function to be invoked after the grace period
3230 *
3231 * The callback function will be invoked some time after a full grace
3232 * period elapses, in other words after all currently executing RCU
3233 * read-side critical sections have completed. call_rcu_sched() assumes
3234 * that the read-side critical sections end on enabling of preemption
3235 * or on voluntary preemption.
3236 * RCU read-side critical sections are delimited by :
3237 * - rcu_read_lock_sched() and rcu_read_unlock_sched(), OR
3238 * - anything that disables preemption.
3239 *
3240 * These may be nested.
3241 *
3242 * See the description of call_rcu() for more detailed information on
3243 * memory ordering guarantees.
3228 */ 3244 */
3229void call_rcu_sched(struct rcu_head *head, rcu_callback_t func) 3245void call_rcu_sched(struct rcu_head *head, rcu_callback_t func)
3230{ 3246{
@@ -3232,8 +3248,26 @@ void call_rcu_sched(struct rcu_head *head, rcu_callback_t func)
3232} 3248}
3233EXPORT_SYMBOL_GPL(call_rcu_sched); 3249EXPORT_SYMBOL_GPL(call_rcu_sched);
3234 3250
3235/* 3251/**
3236 * Queue an RCU callback for invocation after a quicker grace period. 3252 * call_rcu_bh() - Queue an RCU for invocation after a quicker grace period.
3253 * @head: structure to be used for queueing the RCU updates.
3254 * @func: actual callback function to be invoked after the grace period
3255 *
3256 * The callback function will be invoked some time after a full grace
3257 * period elapses, in other words after all currently executing RCU
3258 * read-side critical sections have completed. call_rcu_bh() assumes
3259 * that the read-side critical sections end on completion of a softirq
3260 * handler. This means that read-side critical sections in process
3261 * context must not be interrupted by softirqs. This interface is to be
3262 * used when most of the read-side critical sections are in softirq context.
3263 * RCU read-side critical sections are delimited by :
3264 * - rcu_read_lock() and rcu_read_unlock(), if in interrupt context.
3265 * OR
3266 * - rcu_read_lock_bh() and rcu_read_unlock_bh(), if in process context.
3267 * These may be nested.
3268 *
3269 * See the description of call_rcu() for more detailed information on
3270 * memory ordering guarantees.
3237 */ 3271 */
3238void call_rcu_bh(struct rcu_head *head, rcu_callback_t func) 3272void call_rcu_bh(struct rcu_head *head, rcu_callback_t func)
3239{ 3273{