lkml.org 
[lkml]   [2017]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v4] mm/vmscan: more restrictive condition for retry in do_try_to_free_pages
    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 <xieyisheng1@huawei.com>
    > > Suggested-by: Michal Hocko <mhocko@kernel.org>
    > > Suggested-by: Shakeel Butt <shakeelb@google.com>
    > > Reviewed-by: Shakeel Butt <shakeelb@google.com>
    >
    > 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

    \
     
     \ /
      Last update: 2017-03-17 19:09    [W:4.417 / U:0.688 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site