Michal Hocko 30/11/16 21:25:
>>> Do I get it right that s@cond_resched_rcu_qs@cond_resched@ didn't help?
>> I didn't try that. I've tried 4 patches from Paul's linux-rcu tree.
>> I can try another portion of patches, no problem :)
> Replacing cond_resched_rcu_qs in shrink_node_memcg by cond_resched would
> be really helpful to tell whether we are missing a real scheduling point
> or whether something more serious is going on here.
Well, I can confirm, that replacing cond_resched_rcu_qs in
shrink_node_memcg by cond_resched also makes dmesg clean from RCU CPU
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.
"wget http://kernelpanic.ru/bb_public_key.pgp -O - | gpg --import"
--- a/mm/vmscan.c.orig 2016-11-30 21:52:58.314895320 +0300
+++ b/mm/vmscan.c 2016-11-30 21:53:29.502895320 +0300
@@ -2352,6 +2352,7 @@
nr_reclaimed += shrink_list(lru, nr_to_scan,
if (nr_reclaimed < nr_to_reclaim || scan_adjusted)