From: Andrea Arcangeli <aarcange@xxxxxxxxxx> Not worth throwing away the precious reserved free memory pool for allocations that can fail gracefully (either through mempool or because they're transhuge allocations later falling back to 4k allocations). Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> --- mm/page_alloc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1809,7 +1809,11 @@ gfp_to_alloc_flags(gfp_t gfp_mask) */ alloc_flags |= (gfp_mask & __GFP_HIGH); - if (!wait) { + /* + * Not worth trying to allocate harder for __GFP_NOMEMALLOC + * even if it can't schedule. + */ + if (!wait && !(gfp_mask & __GFP_NOMEMALLOC)) { alloc_flags |= ALLOC_HARDER; /* * Ignore cpuset if GFP_ATOMIC (!wait) rather than fail alloc. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>