Re: [PATCH] mm: warn about allocations which stall for too long
From: Michal Hocko <mhocko@kernel.org>
Date: 2016-09-23 08:32:32
Also in:
lkml
On Fri 23-09-16 16:29:36, Hillf Danton wrote: [...]
quoted
@@ -3659,6 +3661,15 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, else no_progress_loops++; + /* Make sure we know about allocations which stall for too long */ + if (!(gfp_mask & __GFP_NOWARN) && time_after(jiffies, alloc_start + stall_timeout)) { + pr_warn("%s: page alloction stalls for %ums: order:%u mode:%#x(%pGg)\n", + current->comm, jiffies_to_msecs(jiffies-alloc_start),Better if pid is also printed.
I've tried to be consistent with warn_alloc_failed and that doesn't print pid either. Maybe both of them should. Dunno
quoted
+ order, gfp_mask, &gfp_mask); + stall_timeout += 10 * HZ;Alternatively alloc_start = jiffies;
Then we would lose the cumulative time in the output which is imho helpful because you cannot tell whether the new warning is a new request or the old one still looping.
quoted
+ dump_stack(); + } + if (should_reclaim_retry(gfp_mask, order, ac, alloc_flags, did_some_progress > 0, no_progress_loops)) goto retry; -- 2.9.3thanks Hillf
-- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>