Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751299AbdCQSJX (ORCPT ); Fri, 17 Mar 2017 14:09:23 -0400 Received: from mx2.suse.de ([195.135.220.15]:41464 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751150AbdCQSJT (ORCPT ); Fri, 17 Mar 2017 14:09:19 -0400 Date: Fri, 17 Mar 2017 19:08:09 +0100 From: Michal Hocko To: Johannes Weiner Cc: Yisheng Xie , akpm@linux-foundation.org, mgorman@suse.de, vbabka@suse.cz, riel@redhat.com, shakeelb@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, guohanjun@huawei.com, qiuxishi@huawei.com Subject: Re: [PATCH v4] mm/vmscan: more restrictive condition for retry in do_try_to_free_pages Message-ID: <20170317180809.GB23957@dhcp22.suse.cz> References: <1489577808-19228-1-git-send-email-xieyisheng1@huawei.com> <20170317145020.GA8106@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170317145020.GA8106@cmpxchg.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1558 Lines: 34 On Fri 17-03-17 10:50:20, Johannes Weiner wrote: > On Wed, Mar 15, 2017 at 07:36:48PM +0800, Yisheng Xie wrote: > > By reviewing code, I find that when 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, when memcg is disabled or on legacy hierarchy, or there do not > > have any memcg protected by low limit, 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 but made no progress. > > > > To avoid this unneeded retrying, add a new field in scan_control named > > memcg_low_protection, set it if there is any memcg protected by low limit > > and only do the retry when memcg_low_protection is set while may_thrash > > is clear. > > > > Signed-off-by: Yisheng Xie > > Suggested-by: Michal Hocko > > Suggested-by: Shakeel Butt > > Reviewed-by: Shakeel Butt > > I don't see the point of this patch. It adds more code just to > marginally optimize a near-OOM cold path. The current behavior is surprising and not really desirable when we want to control the retry logic from the page allocator. So I do not think that the additional 5 lines of code would be unbearable burden or maintenance cost. I am not saying the patch adds any break through but it is not pointless either. -- Michal Hocko SUSE Labs