[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090319090456.fb11e23c.kamezawa.hiroyu@jp.fujitsu.com>
Date: Thu, 19 Mar 2009 09:04:56 +0900
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To: Mel Gorman <mel@....ul.ie>
Cc: Christoph Lameter <cl@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>,
Pekka Enberg <penberg@...helsinki.fi>,
Rik van Riel <riel@...hat.com>,
KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
Johannes Weiner <hannes@...xchg.org>,
Nick Piggin <npiggin@...e.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Lin Ming <ming.m.lin@...el.com>,
Zhang Yanmin <yanmin_zhang@...ux.intel.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH 24/27] Convert gfp_zone() to use a table of
precalculated values
On Wed, 18 Mar 2009 19:46:04 +0000
Mel Gorman <mel@....ul.ie> 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@...ck.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@...ck.org"> email@...ck.org </a>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists