All of lore.kernel.org
 help / color / mirror / Atom feed
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.