X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=kernel%2Frcupdate.c;h=d92a76a881aa47a9aa059c3221910834f6c50cf8;hb=92d65b2371d86d40807e1dbfdccadc4d501edcde;hp=ad63af8b25218f562729d868293285ce3433cff8;hpb=3e1d7a6219ab64e13b10b1a77c0625db9a8bd8db;p=mv-sheeva.git diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index ad63af8b252..d92a76a881a 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c @@ -77,8 +77,15 @@ void wakeme_after_rcu(struct rcu_head *head) * sections are delimited by rcu_read_lock() and rcu_read_unlock(), * and may be nested. */ -void synchronize_rcu(void); /* Makes kernel-doc tools happy */ -synchronize_rcu_xxx(synchronize_rcu, call_rcu) +void synchronize_rcu(void) +{ + struct rcu_synchronize rcu; + init_completion(&rcu.completion); + /* Will wake me after RCU finished. */ + call_rcu(&rcu.head, wakeme_after_rcu); + /* Wait for it. */ + wait_for_completion(&rcu.completion); +} EXPORT_SYMBOL_GPL(synchronize_rcu); static void rcu_barrier_callback(struct rcu_head *notused)