Hi Shakeel, Thanks for reviewing. On 03/11/2017 11:40 AM, Shakeel Butt wrote: > On Fri, Mar 10, 2017 at 6:19 PM, Yisheng Xie <ysxie@xxxxxxxxxxx> wrote: >> From: Yisheng Xie <xieyisheng1@xxxxxxxxxx> >> >> When we enter do_try_to_free_pages, the may_thrash is always clear, and >> it will retry shrink zones to tap cgroup's reserves memory by setting >> may_thrash when the former shrink_zones reclaim nothing. >> >> However, if CONFIG_MEMCG=n, it should not do this useless retry at all, >> for we do not have any cgroup's reserves memory to tap, and we have >> already done hard work and made no progress. >> >> Signed-off-by: Yisheng Xie <xieyisheng1@xxxxxxxxxx> >> --- >> mm/vmscan.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/mm/vmscan.c b/mm/vmscan.c >> index bc8031e..b03ccc1 100644 >> --- a/mm/vmscan.c >> +++ b/mm/vmscan.c >> @@ -2808,7 +2808,7 @@ static unsigned long do_try_to_free_pages(struct zonelist *zonelist, >> return 1; >> >> /* Untapped cgroup reserves? Don't OOM, retry. */ >> - if (!sc->may_thrash) { >> + if (!sc->may_thrash && IS_ENABLED(CONFIG_MEMCG)) { > In my opinion it should be even more restrictive (restricting > cgroup_disabled=memory boot option and cgroup legacy hierarchy). So, > instead of IS_ENABLED(CONFIG_MEMCG), the check should be something > like (cgroup_subsys_enabled(memory_cgrp_subsys) && > cgroup_subsys_on_dfl(memory_cgrp_subsys)). Right, I will send another version soon. Thanks Yisheng Xie. >> sc->priority = initial_priority; >> sc->may_thrash = 1; >> goto retry; >> -- >> 1.9.1 >> >> >> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>