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

From: Michal Hocko
Date: Fri Dec 02 2016 - 12:03:27 EST


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
--
Michal Hocko
SUSE Labs