On Wed 23-11-16 14:53:12, Hillf Danton wrote:
> On Wednesday, November 23, 2016 2:34 PM Michal Hocko wrote:
> > @@ -3161,6 +3161,16 @@ should_compact_retry(struct alloc_context *ac, 
> > unsigned int order, int alloc_fla
> >     if (!order || order > PAGE_ALLOC_COSTLY_ORDER)
> >             return false;
> > 
> > +#ifdef CONFIG_COMPACTION
> > +   /*
> > +    * This is a gross workaround to compensate a lack of reliable 
> > compaction
> > +    * operation. We cannot simply go OOM with the current state of the 
> > compaction
> > +    * code because this can lead to pre mature OOM declaration.
> > +    */
> > +   if (order <= PAGE_ALLOC_COSTLY_ORDER)
> 
> No need to check order once more.

yes simple return true would be sufficient but I wanted the code to be
more obvious.

> Plus can we retry without CONFIG_COMPACTION enabled?

Yes checking the order-0 watermark was the original implementation of
the high order retry without compaction enabled. I do not rememeber any
reports for that so I didn't want to touch that path.
-- 
Michal Hocko
SUSE Labs

Reply via email to