Michal Hocko wrote:
> On Fri 03-11-17 22:46:29, Tetsuo Handa wrote:
> [...]
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index c274960..547e9cb 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -3312,11 +3312,10 @@ void warn_alloc(gfp_t gfp_mask, nodemask_t 
> > *nodemask, const char *fmt, ...)
> >     }
> >  
> >     /*
> > -    * Go through the zonelist yet one more time, keep very high watermark
> > -    * here, this is only to catch a parallel oom killing, we must fail if
> > -    * we're still under heavy pressure. But make sure that this reclaim
> > -    * attempt shall not depend on __GFP_DIRECT_RECLAIM && !__GFP_NORETRY
> > -    * allocation which will never fail due to oom_lock already held.
> > +    * This allocation attempt must not depend on __GFP_DIRECT_RECLAIM &&
> > +    * !__GFP_NORETRY allocation which will never fail due to oom_lock
> > +    * already held. And since this allocation attempt does not sleep,
> > +    * there is no reason we must use high watermark here.
> >      */
> >     page = get_page_from_freelist((gfp_mask | __GFP_HARDWALL) &
> >                                   ~__GFP_DIRECT_RECLAIM, order,
> 
> Which patch does this depend on?

This patch is preparation for "mm,oom: Move last second allocation to inside
the OOM killer." patch in order to use changelog close to what you suggested.
That is, I will move this comment and get_page_from_freelist() together to
alloc_pages_before_oomkill(), after we recorded why using ALLOC_WMARK_HIGH.

Reply via email to