On Mon, Aug 22, 2016 at 07:19:53PM +0300, Nikolay Borisov wrote:
> 
> [SNIP]
> > 
> > Signed-off-by: Ding Tianhong <[email protected]>
> > [ paulmck: Substituted cond_resched_rcu_qs for cond_resched. ]
> 
> This contradicts...
> 
> > Signed-off-by: Paul E. McKenney <[email protected]>
> > ---
> >  kernel/rcu/tree_plugin.h | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> > index 0082fce402a0..85c5a883c6e3 100644
> > --- a/kernel/rcu/tree_plugin.h
> > +++ b/kernel/rcu/tree_plugin.h
> > @@ -2173,6 +2173,7 @@ static int rcu_nocb_kthread(void *arg)
> >                             cl++;
> >                     c++;
> >                     local_bh_enable();
> > +                   cond_resched_rcu_qs();
> 
> with what's here?

Ding Tianhong's original patch:

http://www.mail-archive.com/[email protected]/msg1167918.html

had cond_resched() here, which works for his workload, but can result
in stall warnings in other cases.  I therfore changed his cond_resched()
to the cond_resched_rcu_qs() that you see above, and documented this
change in the "paulmck" note after Ding Tianhong's Signed-off-by.

So all is as it should be.

                                                        Thanx, Paul

> >                     list = next;
> >             }
> >             trace_rcu_batch_end(rdp->rsp->name, c, !!list, 0, 0, 1);
> > 
> 

Reply via email to