diff options
author | Ingo Molnar <mingo@kernel.org> | 2015-08-12 12:12:12 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-08-12 12:12:12 +0200 |
commit | 9b9412dc7008f360c8e8ed10a654d3c8719f69d8 (patch) | |
tree | f70ad5404519008315d576de91eb1d4fb55116d5 /kernel/cpu.c | |
parent | 58ccab91342c1cc1fe08da9b198ac5d763706c2e (diff) | |
parent | 3dbe43f6fba9f2a0e46e371733575a45704c22ab (diff) | |
download | linux-9b9412dc7008f360c8e8ed10a654d3c8719f69d8.tar.gz linux-9b9412dc7008f360c8e8ed10a654d3c8719f69d8.tar.bz2 linux-9b9412dc7008f360c8e8ed10a654d3c8719f69d8.zip |
Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU changes from Paul E. McKenney:
- The combination of tree geometry-initialization simplifications
and OS-jitter-reduction changes to expedited grace periods.
These two are stacked due to the large number of conflicts
that would otherwise result.
[ With one addition, a temporary commit to silence a lockdep false
positive. Additional changes to the expedited grace-period
primitives (queued for 4.4) remove the cause of this false
positive, and therefore include a revert of this temporary commit. ]
- Documentation updates.
- Torture-test updates.
- Miscellaneous fixes.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r-- | kernel/cpu.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index 5644ec5582b9..910d709b578a 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -381,14 +381,14 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) * will observe it. * * For CONFIG_PREEMPT we have preemptible RCU and its sync_rcu() might - * not imply sync_sched(), so explicitly call both. + * not imply sync_sched(), so wait for both. * * Do sync before park smpboot threads to take care the rcu boost case. */ -#ifdef CONFIG_PREEMPT - synchronize_sched(); -#endif - synchronize_rcu(); + if (IS_ENABLED(CONFIG_PREEMPT)) + synchronize_rcu_mult(call_rcu, call_rcu_sched); + else + synchronize_rcu(); smpboot_park_threads(cpu); |