Re: [PATCH v4] mm/vmscan: more restrictive condition for retry in do_try_to_free_pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> > Suggested-by: Michal Hocko <mhocko@xxxxxxxxxx>
> > Suggested-by: Shakeel Butt <shakeelb@xxxxxxxxxx>
> > Reviewed-by: Shakeel Butt <shakeelb@xxxxxxxxxx>
> 
> 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

--
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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux