sched: Remove synchronize rcu/sched calls from _cpu_down
There is no need for sync_sched() in _cpu_down as stop_machine()
provides that barrier implicitly. Removing it also helps improve
hot-unplug latency.
The sync_sched/rcu were earlier removed for the same reason by the
commit 9ee349ad6d
("sched: Fix set_cpu_active() in cpu_down()"),
but recently got added as part of commit <6acce3ef84520537> ("sched:
Remove get_online_cpus() usage.").
CRs-Fixed: 1048941
Change-Id: I97763004454d082d3cc2d9d9dbef7da923608600
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
This commit is contained in:
parent
2566204c8d
commit
36131fdc87
1 changed files with 0 additions and 15 deletions
15
kernel/cpu.c
15
kernel/cpu.c
|
@ -365,21 +365,6 @@ static int _cpu_down(unsigned int cpu, int tasks_frozen)
|
||||||
goto out_release;
|
goto out_release;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* By now we've cleared cpu_active_mask, wait for all preempt-disabled
|
|
||||||
* and RCU users of this state to go away such that all new such users
|
|
||||||
* will observe it.
|
|
||||||
*
|
|
||||||
* For CONFIG_PREEMPT we have preemptible RCU and its sync_rcu() might
|
|
||||||
* not imply sync_sched(), so wait for both.
|
|
||||||
*
|
|
||||||
* Do sync before park smpboot threads to take care the rcu boost case.
|
|
||||||
*/
|
|
||||||
if (IS_ENABLED(CONFIG_PREEMPT))
|
|
||||||
synchronize_rcu_mult(call_rcu, call_rcu_sched);
|
|
||||||
else
|
|
||||||
synchronize_rcu();
|
|
||||||
|
|
||||||
smpboot_park_threads(cpu);
|
smpboot_park_threads(cpu);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue