diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2009-01-04 22:03:02 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-05 10:18:08 +0100 |
commit | ea7d3fef4222cd98556a0b386598268d4dbf6670 (patch) | |
tree | b16f3cbe0f5e13c9bf6472fa9e1c461da0cea5b4 /kernel/rcupreempt.c | |
parent | rcu: make treercu safe for suspend and resume (diff) | |
download | linux-ea7d3fef4222cd98556a0b386598268d4dbf6670.tar.xz linux-ea7d3fef4222cd98556a0b386598268d4dbf6670.zip |
rcu: eliminate synchronize_rcu_xxx macro
Impact: cleanup
Expand macro into two files.
The synchronize_rcu_xxx macro is quite ugly and it's only used by two
callers, so expand it instead. This makes this code easier to change.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/rcupreempt.c')
-rw-r--r-- | kernel/rcupreempt.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/rcupreempt.c b/kernel/rcupreempt.c index f9dc8f3720f6..33cfc50781f9 100644 --- a/kernel/rcupreempt.c +++ b/kernel/rcupreempt.c @@ -1177,7 +1177,16 @@ EXPORT_SYMBOL_GPL(call_rcu_sched); * in -rt this does -not- necessarily result in all currently executing * interrupt -handlers- having completed. */ -synchronize_rcu_xxx(__synchronize_sched, call_rcu_sched) +void __synchronize_sched(void) +{ + struct rcu_synchronize rcu; + + init_completion(&rcu.completion); + /* Will wake me after RCU finished. */ + call_rcu_sched(&rcu.head, wakeme_after_rcu); + /* Wait for it. */ + wait_for_completion(&rcu.completion); +} EXPORT_SYMBOL_GPL(__synchronize_sched); /* |