Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755301AbZCSAGe (ORCPT ); Wed, 18 Mar 2009 20:06:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753232AbZCSAGZ (ORCPT ); Wed, 18 Mar 2009 20:06:25 -0400 Received: from fgwmail6.fujitsu.co.jp ([192.51.44.36]:53601 "EHLO fgwmail6.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751729AbZCSAGZ (ORCPT ); Wed, 18 Mar 2009 20:06:25 -0400 Date: Thu, 19 Mar 2009 09:04:56 +0900 From: KAMEZAWA Hiroyuki To: Mel Gorman Cc: Christoph Lameter , Linux Memory Management List , Pekka Enberg , Rik van Riel , KOSAKI Motohiro , Johannes Weiner , Nick Piggin , Linux Kernel Mailing List , Lin Ming , Zhang Yanmin , Peter Zijlstra Subject: Re: [PATCH 24/27] Convert gfp_zone() to use a table of precalculated values Message-Id: <20090319090456.fb11e23c.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <20090318194604.GD24462@csn.ul.ie> References: <1237226020-14057-1-git-send-email-mel@csn.ul.ie> <1237226020-14057-25-git-send-email-mel@csn.ul.ie> <20090318135222.GA4629@csn.ul.ie> <20090318153508.GA24462@csn.ul.ie> <20090318181717.GC24462@csn.ul.ie> <20090318194604.GD24462@csn.ul.ie> Organization: FUJITSU Co. LTD. X-Mailer: Sylpheed 2.5.0 (GTK+ 2.10.14; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2657 Lines: 69 On Wed, 18 Mar 2009 19:46:04 +0000 Mel Gorman wrote: > On Wed, Mar 18, 2009 at 03:07:48PM -0400, Christoph Lameter wrote: > > On Wed, 18 Mar 2009, Mel Gorman wrote: > > > > > Thanks.At a quick glance, it looks ok but I haven't tested it. As the intention > > > was to get one pass of patches that are not controversial and are "obvious", > > > I have dropped my version of the gfp_zone patch and the subsequent flag > > > cleanup and will revisit it after the first lot of patches has been dealt > > > with. I'm testing again with the remaining patches. > > > > This fixes buggy behavior of gfp_zone so it would deserve a higher > > priority. > > > > It is buggy behaviour in response to a flag combination that makes no sense > which arguably is a buggy caller. Now that I get to think about it a bit more, > you can't define a const table in a header. If it's declared extern, then > the compiler doesn't know what the constant value is so it can't generate > better code. At best, you end up with equivalent code to what my patch did > in the first place except __GFP_DMA32|__GFP_HIGHMEM will return ZONE_NORMAL. > I wonder why you have to make the bad caller work insane way ? Is this bad ? == const int gfp_zone_table[GFP_ZONEMASK] = { ZONE_NORMAL, /* 00 No flags set */ ZONE_DMA, /* 01 Only GFP_DMA set */ ZONE_HIGHMEM, /* 02 Only GFP_HIGHMEM set */ BAD_ZONE, /* 03 GFP_HIGHMEM and GFP_DMA set */ ZONE_DMA32, /* 04 Only GFP_DMA32 set */ BAD_ZONE, /* 05 GFP_DMA and GFP_DMA32 set */ BAD_ZONE, /* 06 GFP_DMA32 and GFP_HIGHMEM set */ BAD_ZONE, /* 07 GFP_DMA, GFP_DMA32 and GFP_DMA32 set */ ZONE_MOVABLE, /* 08 Only ZONE_MOVABLE set */ ZONE_DMA, /* 09 MOVABLE + DMA */ ZONE_MOVABLE, /* 0A MOVABLE + HIGHMEM */ BAD_ZONE, /* 0B MOVABLE + DMA + HIGHMEM */ ZONE_DMA32, /* 0C MOVABLE + DMA32 */ BAD_ZONE, /* 0D MOVABLE + DMA + DMA32 */ BAD_ZONE, /* 0E MOVABLE + DMA32 + HIGHMEM */ BAD_ZONE /* 0F MOVABLE + DMA32 + HIGHMEM + DMA }; == Thanks, -Kame > -- > Mel Gorman > Part-time Phd Student Linux Technology Center > University of Limerick IBM Dublin Software Lab > > -- > 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: email@kvack.org > -- 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/