Re: [PATCH 0/3 -v3] GFP_NOFAIL cleanups

From: Michal Hocko
Date: Wed Jan 18 2017 - 13:43:01 EST


On Tue 20-12-16 14:49:01, Michal Hocko wrote:
> Hi,
> This has been posted [1] initially to later be reduced to a single patch
> [2]. Johannes then suggested [3] to split up the second patch and make
> the access to memory reserves by __GF_NOFAIL requests which do not
> invoke the oom killer a separate change. This is patch 3 now.
>
> Tetsuo has noticed [4] that recent changes have changed GFP_NOFAIL
> semantic for costly order requests. I believe that the primary reason
> why this happened is that our GFP_NOFAIL checks are too scattered
> and it is really easy to forget about adding one. That's why I am
> proposing patch 1 which consolidates all the nofail handling at a single
> place. This should help to make this code better maintainable.
>
> Patch 2 on top is a further attempt to make GFP_NOFAIL semantic less
> surprising. As things stand currently GFP_NOFAIL overrides the oom killer
> prevention code which is both subtle and not really needed. The patch 2
> has more details about issues this might cause. We have also seen
> a report where __GFP_NOFAIL|GFP_NOFS requests cause the oom killer which
> is premature.
>
> Patch 3 is an attempt to reduce chances of GFP_NOFAIL requests being
> preempted by other memory consumers by giving them access to memory
> reserves.
>
> [1] http://lkml.kernel.org/r/20161123064925.9716-1-mhocko@xxxxxxxxxx
> [2] http://lkml.kernel.org/r/20161214150706.27412-1-mhocko@xxxxxxxxxx
> [3] http://lkml.kernel.org/r/20161216173151.GA23182@xxxxxxxxxxx
> [4] http://lkml.kernel.org/r/1479387004-5998-1-git-send-email-penguin-kernel@xxxxxxxxxxxxxxxxxxx

Friendly ping on this.
--
Michal Hocko
SUSE Labs