Re: [PATCH 0/3] OOM detection rework v4

From: Michal Hocko
Date: Fri Feb 26 2016 - 04:24:18 EST


On Fri 26-02-16 15:54:19, Hillf Danton wrote:
> >
> > It didn't really help, I'm afraid: it reduces the actual number of OOM
> > kills which occur before the job is terminated, but doesn't stop the
> > job from being terminated very soon.
> >
> > I also tried Hillf's patch (separately) too, but as you expected,
> > it didn't seem to make any difference.
> >
> Perhaps non-costly means NOFAIL as shown by folding the two

nofail only means that the page allocator doesn't return with NULL.
OOM killer is still not put aside...

> patches into one. Can it make any sense?
>
> thanks
> Hillf
> --- a/mm/page_alloc.c Thu Feb 25 15:43:18 2016
> +++ b/mm/page_alloc.c Fri Feb 26 15:18:55 2016
> @@ -3113,6 +3113,8 @@ should_reclaim_retry(gfp_t gfp_mask, uns
> struct zone *zone;
> struct zoneref *z;
>
> + if (order <= PAGE_ALLOC_COSTLY_ORDER)
> + return true;

This is defeating the whole purpose of the rework - to behave
deterministically. You have just disabled the oom killer completely.
This is not the way to go

--
Michal Hocko
SUSE Labs