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