diff options
Diffstat (limited to 'kernel/rcupdate.c')
-rw-r--r-- | kernel/rcupdate.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index ad497722f04f..f436993bd590 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c | |||
@@ -444,15 +444,18 @@ static void wakeme_after_rcu(struct rcu_head *head) | |||
444 | } | 444 | } |
445 | 445 | ||
446 | /** | 446 | /** |
447 | * synchronize_kernel - wait until a grace period has elapsed. | 447 | * synchronize_rcu - wait until a grace period has elapsed. |
448 | * | 448 | * |
449 | * Control will return to the caller some time after a full grace | 449 | * Control will return to the caller some time after a full grace |
450 | * period has elapsed, in other words after all currently executing RCU | 450 | * period has elapsed, in other words after all currently executing RCU |
451 | * read-side critical sections have completed. RCU read-side critical | 451 | * read-side critical sections have completed. RCU read-side critical |
452 | * sections are delimited by rcu_read_lock() and rcu_read_unlock(), | 452 | * sections are delimited by rcu_read_lock() and rcu_read_unlock(), |
453 | * and may be nested. | 453 | * and may be nested. |
454 | * | ||
455 | * If your read-side code is not protected by rcu_read_lock(), do -not- | ||
456 | * use synchronize_rcu(). | ||
454 | */ | 457 | */ |
455 | void synchronize_kernel(void) | 458 | void synchronize_rcu(void) |
456 | { | 459 | { |
457 | struct rcu_synchronize rcu; | 460 | struct rcu_synchronize rcu; |
458 | 461 | ||
@@ -464,7 +467,16 @@ void synchronize_kernel(void) | |||
464 | wait_for_completion(&rcu.completion); | 467 | wait_for_completion(&rcu.completion); |
465 | } | 468 | } |
466 | 469 | ||
470 | /* | ||
471 | * Deprecated, use synchronize_rcu() or synchronize_sched() instead. | ||
472 | */ | ||
473 | void synchronize_kernel(void) | ||
474 | { | ||
475 | synchronize_rcu(); | ||
476 | } | ||
477 | |||
467 | module_param(maxbatch, int, 0); | 478 | module_param(maxbatch, int, 0); |
468 | EXPORT_SYMBOL(call_rcu); /* WARNING: GPL-only in April 2006. */ | 479 | EXPORT_SYMBOL(call_rcu); /* WARNING: GPL-only in April 2006. */ |
469 | EXPORT_SYMBOL(call_rcu_bh); /* WARNING: GPL-only in April 2006. */ | 480 | EXPORT_SYMBOL(call_rcu_bh); /* WARNING: GPL-only in April 2006. */ |
481 | EXPORT_SYMBOL_GPL(synchronize_rcu); | ||
470 | EXPORT_SYMBOL(synchronize_kernel); /* WARNING: GPL-only in April 2006. */ | 482 | EXPORT_SYMBOL(synchronize_kernel); /* WARNING: GPL-only in April 2006. */ |