Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755561AbdCKJ6p (ORCPT ); Sat, 11 Mar 2017 04:58:45 -0500 Received: from smtpbg325.qq.com ([14.17.32.36]:56975 "EHLO smtpbg325.qq.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753648AbdCKJ6i (ORCPT ); Sat, 11 Mar 2017 04:58:38 -0500 X-Greylist: delayed 403 seconds by postgrey-1.27 at vger.kernel.org; Sat, 11 Mar 2017 04:58:38 EST X-QQ-Spam: true X-QQ-mid: esmtp31t1489225290t9vcqo8h1 X-QQ-SSF: 01000000000000201G100300000000V From: Yisheng Xie Subject: Re: [PATCH RFC] mm/vmscan: donot retry shrink zones when memcg is disabled To: Shakeel Butt References: <1489198798-6632-1-git-send-email-ysxie@foxmail.com> Cc: Andrew Morton , Johannes Weiner , Mel Gorman , Vlastimil Babka , Michal Hocko , riel@redhat.com, Linux MM , LKML , xieyisheng1@huawei.com Message-ID: <58C3C648.2020209@foxmail.com> Date: Sat, 11 Mar 2017 17:41:28 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-QQ-SENDSIZE: 520 Feedback-ID: esmtp:foxmail.com:bgweb:bgweb127 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1664 Lines: 49 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 wrote: >> From: Yisheng Xie >> >> 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 >> --- >> 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 >> >> >>