diff options
Diffstat (limited to 'kernel/rcutree_plugin.h')
-rw-r--r-- | kernel/rcutree_plugin.h | 21 |
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)) | |||
393 | EXPORT_SYMBOL_GPL(call_rcu); | 393 | EXPORT_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 | */ | ||
400 | void synchronize_rcu_expedited(void) | ||
401 | { | ||
402 | synchronize_rcu(); | ||
403 | } | ||
404 | EXPORT_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)) | |||
565 | EXPORT_SYMBOL_GPL(call_rcu); | 576 | EXPORT_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 | */ | ||
582 | void synchronize_rcu_expedited(void) | ||
583 | { | ||
584 | synchronize_sched_expedited(); | ||
585 | } | ||
586 | EXPORT_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 | */ |
570 | static int rcu_preempt_pending(int cpu) | 591 | static int rcu_preempt_pending(int cpu) |