aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutree_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcutree_plugin.h')
-rw-r--r--kernel/rcutree_plugin.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h
index c0cb783aa16a..ebd20ee7707d 100644
--- a/kernel/rcutree_plugin.h
+++ b/kernel/rcutree_plugin.h
@@ -393,6 +393,17 @@ void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu))
393EXPORT_SYMBOL_GPL(call_rcu); 393EXPORT_SYMBOL_GPL(call_rcu);
394 394
395/* 395/*
396 * Wait for an rcu-preempt grace period. We are supposed to expedite the
397 * grace period, but this is the crude slow compatability hack, so just
398 * invoke synchronize_rcu().
399 */
400void synchronize_rcu_expedited(void)
401{
402 synchronize_rcu();
403}
404EXPORT_SYMBOL_GPL(synchronize_rcu_expedited);
405
406/*
396 * Check to see if there is any immediate preemptable-RCU-related work 407 * Check to see if there is any immediate preemptable-RCU-related work
397 * to be done. 408 * to be done.
398 */ 409 */
@@ -565,6 +576,16 @@ void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu))
565EXPORT_SYMBOL_GPL(call_rcu); 576EXPORT_SYMBOL_GPL(call_rcu);
566 577
567/* 578/*
579 * Wait for an rcu-preempt grace period, but make it happen quickly.
580 * But because preemptable RCU does not exist, map to rcu-sched.
581 */
582void synchronize_rcu_expedited(void)
583{
584 synchronize_sched_expedited();
585}
586EXPORT_SYMBOL_GPL(synchronize_rcu_expedited);
587
588/*
568 * Because preemptable RCU does not exist, it never has any work to do. 589 * Because preemptable RCU does not exist, it never has any work to do.
569 */ 590 */
570static int rcu_preempt_pending(int cpu) 591static int rcu_preempt_pending(int cpu)