diff options
Diffstat (limited to 'kernel/rcu/srcu.c')
-rw-r--r-- | kernel/rcu/srcu.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c index 445bf8ffe3fb..cad76e76b4e7 100644 --- a/kernel/rcu/srcu.c +++ b/kernel/rcu/srcu.c | |||
@@ -402,23 +402,6 @@ void call_srcu(struct srcu_struct *sp, struct rcu_head *head, | |||
402 | } | 402 | } |
403 | EXPORT_SYMBOL_GPL(call_srcu); | 403 | EXPORT_SYMBOL_GPL(call_srcu); |
404 | 404 | ||
405 | struct rcu_synchronize { | ||
406 | struct rcu_head head; | ||
407 | struct completion completion; | ||
408 | }; | ||
409 | |||
410 | /* | ||
411 | * Awaken the corresponding synchronize_srcu() instance now that a | ||
412 | * grace period has elapsed. | ||
413 | */ | ||
414 | static void wakeme_after_rcu(struct rcu_head *head) | ||
415 | { | ||
416 | struct rcu_synchronize *rcu; | ||
417 | |||
418 | rcu = container_of(head, struct rcu_synchronize, head); | ||
419 | complete(&rcu->completion); | ||
420 | } | ||
421 | |||
422 | static void srcu_advance_batches(struct srcu_struct *sp, int trycount); | 405 | static void srcu_advance_batches(struct srcu_struct *sp, int trycount); |
423 | static void srcu_reschedule(struct srcu_struct *sp); | 406 | static void srcu_reschedule(struct srcu_struct *sp); |
424 | 407 | ||
@@ -507,7 +490,7 @@ static void __synchronize_srcu(struct srcu_struct *sp, int trycount) | |||
507 | */ | 490 | */ |
508 | void synchronize_srcu(struct srcu_struct *sp) | 491 | void synchronize_srcu(struct srcu_struct *sp) |
509 | { | 492 | { |
510 | __synchronize_srcu(sp, rcu_expedited | 493 | __synchronize_srcu(sp, rcu_gp_is_expedited() |
511 | ? SYNCHRONIZE_SRCU_EXP_TRYCOUNT | 494 | ? SYNCHRONIZE_SRCU_EXP_TRYCOUNT |
512 | : SYNCHRONIZE_SRCU_TRYCOUNT); | 495 | : SYNCHRONIZE_SRCU_TRYCOUNT); |
513 | } | 496 | } |