Re: [PATCH 3/4] Embed zone_id information within the zonelist->zones pointer

Christoph Lameter
2007-08-13T22:22:25Z

On Tue, 14 Aug 2007, Andi Kleen wrote:

> > x86_64 is the only platforms that uses ZONE_DMA32. Ia64 and other 64 bit
> > platforms use ZONE_DMA for <4GB allocs.
>
> Yes, but ZONE_DMA32 == ZONE_DMA.

I am not sure what you mean by that. Ia64 ZONE_DMA == x86_84 ZONE_DMA32?

> Also when the slab users of GFP_DMA are all gone ia64 won't need
> the slab support anymore. So either you change your ifdef in slub or
> switch to ZONE_DMA32 for IA64.

If you have gotten rid of all slab users of GFP_DMA (and also all arch
uses of it) then we can drop the code in SLAB.

> The trouble is that this cannot be done globally, at least not
> until s390 and a few other architures using GFP_DMA with slab
> are all converted.

The s390 arch code still contains GFP_DMA uses? No drivers elsewhere
still use GFP_DMA?

>
> > I think s/ZONE_DMA32/ZONE_DMA would restore the one DMA zone thing which
> > is good. We could drop all ZONE_DMA32 stuff that is only needed by a
> > single arch.
>
> But it's not quite the same: GFP_DMA32 has no explicit slab support.

Right. So we could

1. Drop sl?b support for GFP_DMA.

2. Drop GFP_DMA32 support.

Then we only allow page allocator allocs using GFP_DMA? That may be the
least invasive for arch code.