Hi, Tetsuo has noticed [1] 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. I would consider both patches more a cleanup than anything else. Any feedback is highly appreciated. [1] http://lkml.kernel.org/r/1479387004-5998-1-git-send-email-penguin-ker...@i-love.sakura.ne.jp