Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754356AbbKXQ0Q (ORCPT ); Tue, 24 Nov 2015 11:26:16 -0500 Received: from gum.cmpxchg.org ([85.214.110.215]:45646 "EHLO gum.cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752995AbbKXQ0O (ORCPT ); Tue, 24 Nov 2015 11:26:14 -0500 Date: Tue, 24 Nov 2015 11:26:04 -0500 From: Johannes Weiner To: Michal Hocko Cc: David Rientjes , Vlastimil Babka , Andrew Morton , Andrea Arcangeli , Mel Gorman , linux-mm@kvack.org, LKML Subject: Re: [PATCH] mm, oom: Give __GFP_NOFAIL allocations access to memory reserves Message-ID: <20151124162604.GB9598@cmpxchg.org> References: <1447249697-13380-1-git-send-email-mhocko@kernel.org> <5651BB43.8030102@suse.cz> <20151123092925.GB21050@dhcp22.suse.cz> <5652DFCE.3010201@suse.cz> <20151123101345.GF21050@dhcp22.suse.cz> <20151124094708.GA29472@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151124094708.GA29472@dhcp22.suse.cz> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1438 Lines: 26 On Tue, Nov 24, 2015 at 10:47:09AM +0100, Michal Hocko wrote: > Besides that there is no other reliable warning that we are getting > _really_ short on memory unlike when the allocation failure is > allowed. OOM killer report might be missing because there was no actual > killing happening. This is why I would like to see that warning generalized, and not just for __GFP_NOFAIL. We have allocations other than explicit __GFP_NOFAIL that will loop forever in the allocator, and when this deadlocks the machine all we see is other tasks hanging, but not the culprit. If we were to get a backtrace of some task in the allocator that is known to hold locks, suddenly all the other hung tasks will make sense, and it will clearly distinguish such an allocator deadlock from other issues. Do you remember the patch you proposed at LSF about failing requests after looping a certain (configurable) number of times? Well, instead of failing them, it would be good to start WARNING after a certain # of loops when we know we won't quit (implicit or explicit NOFAIL). [ Kind of like fs/xfs/kmem::kmem_alloc() does, only that that is currently dead code due to our looping inside the allocator. ] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/