Messages in this thread | | | Date | Mon, 7 Aug 2017 05:40:52 -0700 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH] rcu: Fix up pending cbs check in rcu_prepare_for_idle |
| |
On Mon, Aug 07, 2017 at 11:20:10AM +0530, Neeraj Upadhyay wrote: > Pending cbs check in rcu_prepare_for_idle is inversed > in the sense that, it should accelerate if there are > pending cbs; but, the check does the opposite. So, > fix it. > > Fixes: 15fecf89e46a ("srcu: Abstract multi-tail callback list handling") > Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Good catch! Queued for review and testing.
Just out of curiosity, how did you find this one?
Thanx, Paul
> --- > kernel/rcu/tree_plugin.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h > index 908b309..b8f51df 100644 > --- a/kernel/rcu/tree_plugin.h > +++ b/kernel/rcu/tree_plugin.h > @@ -1493,7 +1493,7 @@ static void rcu_prepare_for_idle(void) > rdtp->last_accelerate = jiffies; > for_each_rcu_flavor(rsp) { > rdp = this_cpu_ptr(rsp->rda); > - if (rcu_segcblist_pend_cbs(&rdp->cblist)) > + if (!rcu_segcblist_pend_cbs(&rdp->cblist)) > continue; > rnp = rdp->mynode; > raw_spin_lock_rcu_node(rnp); /* irqs already disabled. */ > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a > member of the Code Aurora Forum, hosted by The Linux Foundation >
| |