diff for duplicates of <20170125181150.GA16398@cmpxchg.org> diff --git a/a/1.txt b/N1/1.txt index 004afbf..5eccf5b 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -29,3 +29,40 @@ the caller expects allocation failure and is prepared to handle it; an allocation stalling out for 10s is an issue regardless of the callsite. --- + +>From 6420cae52cac8167bd5fb19f45feed2d540bc11d Mon Sep 17 00:00:00 2001 +From: Johannes Weiner <hannes@cmpxchg.org> +Date: Wed, 25 Jan 2017 12:57:20 -0500 +Subject: [PATCH] mm: page_alloc: __GFP_NOWARN shouldn't suppress stall + warnings + +__GFP_NOWARN, which is usually added to avoid warnings from callsites +that expect to fail and have fallbacks, currently also suppresses +allocation stall warnings. These trigger when an allocation is stuck +inside the allocator for 10 seconds or longer. + +But there is no class of allocations that can get legitimately stuck +in the allocator for this long. This always indicates a problem. + +Always emit stall warnings. Restrict __GFP_NOWARN to alloc failures. + +Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> +--- + mm/page_alloc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index f3e0c69a97b7..7ce051d1d575 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -3704,7 +3704,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, + + /* Make sure we know about allocations which stall for too long */ + if (time_after(jiffies, alloc_start + stall_timeout)) { +- warn_alloc(gfp_mask, ++ warn_alloc(gfp_mask & ~__GFP_NOWARN, + "page allocation stalls for %ums, order:%u", + jiffies_to_msecs(jiffies-alloc_start), order); + stall_timeout += 10 * HZ; +-- +2.11.0 diff --git a/a/content_digest b/N1/content_digest index 9381f31..d06e948 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -38,6 +38,43 @@ "the caller expects allocation failure and is prepared to handle it; an\n" "allocation stalling out for 10s is an issue regardless of the callsite.\n" "\n" - --- + "---\n" + "\n" + ">From 6420cae52cac8167bd5fb19f45feed2d540bc11d Mon Sep 17 00:00:00 2001\n" + "From: Johannes Weiner <hannes@cmpxchg.org>\n" + "Date: Wed, 25 Jan 2017 12:57:20 -0500\n" + "Subject: [PATCH] mm: page_alloc: __GFP_NOWARN shouldn't suppress stall\n" + " warnings\n" + "\n" + "__GFP_NOWARN, which is usually added to avoid warnings from callsites\n" + "that expect to fail and have fallbacks, currently also suppresses\n" + "allocation stall warnings. These trigger when an allocation is stuck\n" + "inside the allocator for 10 seconds or longer.\n" + "\n" + "But there is no class of allocations that can get legitimately stuck\n" + "in the allocator for this long. This always indicates a problem.\n" + "\n" + "Always emit stall warnings. Restrict __GFP_NOWARN to alloc failures.\n" + "\n" + "Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>\n" + "---\n" + " mm/page_alloc.c | 2 +-\n" + " 1 file changed, 1 insertion(+), 1 deletion(-)\n" + "\n" + "diff --git a/mm/page_alloc.c b/mm/page_alloc.c\n" + "index f3e0c69a97b7..7ce051d1d575 100644\n" + "--- a/mm/page_alloc.c\n" + "+++ b/mm/page_alloc.c\n" + "@@ -3704,7 +3704,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,\n" + " \n" + " \t/* Make sure we know about allocations which stall for too long */\n" + " \tif (time_after(jiffies, alloc_start + stall_timeout)) {\n" + "-\t\twarn_alloc(gfp_mask,\n" + "+\t\twarn_alloc(gfp_mask & ~__GFP_NOWARN,\n" + " \t\t\t\"page allocation stalls for %ums, order:%u\",\n" + " \t\t\tjiffies_to_msecs(jiffies-alloc_start), order);\n" + " \t\tstall_timeout += 10 * HZ;\n" + "-- \n" + 2.11.0 -4d2bc94cf6d4832f49273b7b072959659abaec201d4859adbdca3bab6af5d970 +b9f34c95583aeb1404afac58ce2581ac7be8fb64365a3e92e504ee07f96861fc
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.