Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757517Ab0KRNTd (ORCPT ); Thu, 18 Nov 2010 08:19:33 -0500 Received: from gir.skynet.ie ([193.1.99.77]:53012 "EHLO gir.skynet.ie" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756521Ab0KRNTc (ORCPT ); Thu, 18 Nov 2010 08:19:32 -0500 Date: Thu, 18 Nov 2010 13:19:17 +0000 From: Mel Gorman To: Andrea Arcangeli Cc: linux-mm@kvack.org, Linus Torvalds , Andrew Morton , linux-kernel@vger.kernel.org, Marcelo Tosatti , Adam Litke , Avi Kivity , Hugh Dickins , Rik van Riel , Dave Hansen , Benjamin Herrenschmidt , Ingo Molnar , Mike Travis , KAMEZAWA Hiroyuki , Christoph Lameter , Chris Wright , bpicco@redhat.com, KOSAKI Motohiro , Balbir Singh , "Michael S. Tsirkin" , Peter Zijlstra , Johannes Weiner , Daisuke Nishimura , Chris Mason , Borislav Petkov Subject: Re: [PATCH 29 of 66] don't alloc harder for gfp nomemalloc even if nowait Message-ID: <20101118131917.GS8135@csn.ul.ie> References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17+20080114 (2008-01-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1493 Lines: 42 On Wed, Nov 03, 2010 at 04:28:04PM +0100, Andrea Arcangeli wrote: > From: Andrea Arcangeli > > 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 > Acked-by: Rik van Riel Acked-by: Mel Gorman > --- > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1941,7 +1941,12 @@ gfp_to_alloc_flags(gfp_t gfp_mask) > alloc_flags |= (__force int) (gfp_mask & __GFP_HIGH); > > if (!wait) { > - alloc_flags |= ALLOC_HARDER; > + /* > + * Not worth trying to allocate harder for > + * __GFP_NOMEMALLOC even if it can't schedule. > + */ > + if (!(gfp_mask & __GFP_NOMEMALLOC)) > + alloc_flags |= ALLOC_HARDER; > /* > * Ignore cpuset if GFP_ATOMIC (!wait) rather than fail alloc. > * See also cpuset_zone_allowed() comment in kernel/cpuset.c. > -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- 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/