srcu: Allow early boot use of synchronize_srcu()
This commit checks for pre-scheduler state, and if that early in the boot process, synchronize_srcu() and friends are no-ops. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
900b1028ec
commit
b5eaeaa509
@ -417,6 +417,8 @@ static void __synchronize_srcu(struct srcu_struct *sp, int trycount)
|
|||||||
lock_is_held(&rcu_sched_lock_map),
|
lock_is_held(&rcu_sched_lock_map),
|
||||||
"Illegal synchronize_srcu() in same-type SRCU (or in RCU) read-side critical section");
|
"Illegal synchronize_srcu() in same-type SRCU (or in RCU) read-side critical section");
|
||||||
|
|
||||||
|
if (rcu_scheduler_active == RCU_SCHEDULER_INACTIVE)
|
||||||
|
return;
|
||||||
might_sleep();
|
might_sleep();
|
||||||
init_completion(&rcu.completion);
|
init_completion(&rcu.completion);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user