On Wed 20-10-21 15:33:39, Zhaoyang Huang wrote: [...] > Do you mean that direct reclaim should succeed for the first round > reclaim within which memcg get protected by memory.low and would NOT > retry by setting memcg_low_reclaim to true? Yes, this is the semantic of low limit protection in the upstream kernel. Have a look at do_try_to_free_pages and how it sets memcg_low_reclaim only if there were no pages reclaimed. > It is not true in android > like system, where reclaim always failed and introduce lmk and even > OOM. I am not familiar with android specific changes to the upstream reclaim logic. You should be investigating why the reclaim couldn't make a forward progress (aka reclaim pages) from non-protected memcgs. There are tracepoints you can use (generally vmscan prefix). -- Michal Hocko SUSE Labs