Commit 27c744e3 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcu: Allow processing deferred QSes for exiting RCU-preempt readers



If an RCU-preempt read-side critical section is exiting, that is,
->rcu_read_lock_nesting is negative, then it is a good time to look
at the possibility of reporting deferred quiescent states.  This
commit therefore updates the checks in rcu_preempt_need_deferred_qs()
to allow exiting critical sections to report deferred quiescent states.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent c0335743
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -602,7 +602,7 @@ static bool rcu_preempt_need_deferred_qs(struct task_struct *t)
{
	return (this_cpu_ptr(&rcu_preempt_data)->deferred_qs ||
		READ_ONCE(t->rcu_read_unlock_special.s)) &&
	       !t->rcu_read_lock_nesting;
	       t->rcu_read_lock_nesting <= 0;
}

/*