Re: INFO: rcu_sched detected stalls on CPUs/tasks with `kswapd` and `mem_cgroup_shrink_node`

From: Paul E. McKenney
Date: Fri Dec 02 2016 - 12:15:48 EST


On Fri, Dec 02, 2016 at 06:02:49PM +0100, Michal Hocko wrote:
> On Fri 02-12-16 08:44:08, Paul E. McKenney wrote:
> > On Fri, Dec 02, 2016 at 07:39:24PM +0300, Boris Zhmurov wrote:
> > > Paul E. McKenney Thu Dec 01 2016 - 14:39:21 EST:
> > >
> > > >> Well, I can confirm, that replacing cond_resched_rcu_qs in
> > > >> shrink_node_memcg by cond_resched also makes dmesg clean from RCU
> > > >> CPU stall warnings.
> > > >>
> > > >> I've attached patch (just modification of Paul's patch), that
> > > >> fixes RCU stall messages in situations, when all memory is used by
> > > >> couchbase/memcached + fs cache and linux starts to use swap.
> > >
> > > > Nice! Just to double-check, could you please also test your patch
> > > > above with these two commits from -rcu?
> > > >
> > > > d2db185bfee8 ("rcu: Remove short-term CPU kicking") f8f127e738e3
> > > > ("rcu: Add long-term CPU kicking")
> > > >
> > > > Thanx, Paul
> > >
> > >
> > > Looks like patches d2db185bfee8 and f8f127e738e3 change nothing.
> > >
> > > With cond_resched() in shrink_node_memcg and these two patches dmesg is
> > > clean. No any RCU CPU stall messages.
> >
> > Very good! I have these two patches queued for 4.11.
>
> FWIW I have posted the cond_resched patch to Andrew [1]. I didn't CC you
> Paul to save you from emails as this is more MM than anything else
> related ;)
>
> [1] http://lkml.kernel.org/r/20161202095841.16648-1-mhocko@xxxxxxxxxx

Feel free to apply:

Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

Thanx, Paul