From: David Rientjes Subject: Re: [patch 1/5] mm: add nofail variants of kmalloc kcalloc and kzalloc Date: Thu, 26 Aug 2010 15:31:22 -0700 (PDT) Message-ID: References: <1282656558.2605.2742.camel@laptop> <4C73CA24.3060707@fusionio.com> <20100825112433.GB4453@thunk.org> <1282736132.2605.3563.camel@laptop> <20100825115709.GD4453@thunk.org> <1282740516.2605.3644.camel@laptop> <20100825132417.GQ31488@dastard> <1282743342.2605.3707.camel@laptop> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Peter Zijlstra , Dave Chinner , "Ted Ts'o" , Jens Axboe , Andrew Morton , Neil Brown , Alasdair G Kergon , Chris Mason , Steven Whitehouse , Jan Kara , Frederic Weisbecker , "linux-raid@vger.kernel.org" , "linux-btrfs@vger.kernel.org" , "cluster-devel@redhat.com" , "linux-ext4@vger.kernel.org" , "reiserfs-devel@vger.kernel.org" , "linux-kernel@vger.kernel.org" To: Christoph Lameter Return-path: Received: from smtp-out.google.com ([216.239.44.51]:6777 "EHLO smtp-out.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752432Ab0HZWba (ORCPT ); Thu, 26 Aug 2010 18:31:30 -0400 In-Reply-To: Sender: linux-ext4-owner@vger.kernel.org List-ID: On Thu, 26 Aug 2010, Christoph Lameter wrote: > > Because we can remove the flag, remove branches from the page allocator > > slowpath, and none of these allocations actually are dependent on > > __GFP_NOFAIL since they are all under PAGE_ALLOC_COSTLY_ORDER. > > Then we can simply remove __GFP_NOFAIL? Functions are only needed for > higher order allocs that can fail? > Yes, that's the intent. We'd like to add the WARN_ON_ONCE(get_order(size) >= PAGE_ALLOC_COSTLY_ORDER) warning, though, so we're ensured that redefinition of that #define doesn't cause allocations to fail to that don't have appropriate error handling or future callers use higher order allocs. The _nofail() functions help that and do some due diligence in ensuring that we aren't changing gfp flags based only on the current page allocator implementation which may later change with very specialized corner cases.