mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 16:44:10 +08:00
rcu: Make rcu_blocking_is_gp() stop early-boot might_sleep()
Currently, rcu_blocking_is_gp() invokes might_sleep() even during early boot when interrupts are disabled and before the scheduler is scheduling. This is at best an accident waiting to happen. Therefore, this commit moves that might_sleep() under an rcu_scheduler_active check in order to ensure that might_sleep() is not invoked unless sleeping might actually happen. Signed-off-by: Zqiang <qiang1.zhang@intel.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
2d7f00b2f0
commit
3d1adf7ada
@ -3333,9 +3333,10 @@ void __init kfree_rcu_scheduler_running(void)
|
||||
*/
|
||||
static int rcu_blocking_is_gp(void)
|
||||
{
|
||||
if (rcu_scheduler_active != RCU_SCHEDULER_INACTIVE)
|
||||
if (rcu_scheduler_active != RCU_SCHEDULER_INACTIVE) {
|
||||
might_sleep();
|
||||
return false;
|
||||
might_sleep(); /* Check for RCU read-side critical section. */
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user