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); > > >

