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

Christoph Lameter
2007-08-13T22:52:54Z

On Tue, 14 Aug 2007, Andi Kleen wrote:

> > I am not sure what you mean by that. Ia64 ZONE_DMA == x86_84 ZONE_DMA32?
>
> Hmm, when I wrote GFP_DMA32 it was a #define GFP_DMA32 GFP_DMA
> on ia64 so that drivers not need to ifdef. Someone nasty
> seems to have removed that too. I guess it would be best
> to readd.

What would be the point?

> But then it wouldn't make sense to have GFP_DMA on ia64 and GFP_DMA32
> on x86. Since driver writers are more likely to test on x86
> I would recommend ia64 having compatible semantics. It'll
> save everybody trouble long term. This means it wouldn't
> help on IA64 machines that don't have a DMA zone -- they
> would still need to validate drivers especially -- but at least
> the others.

There are no compatible semantics. ZONE_DMA may mean something different
for each arch depending on its need. An arch may not have a need for a 4GB
boundary (such as s390).

> Also from my driver review driver authors often seem to have
> trouble understanding what GFP_DMA really does. With GFP_DMA32 it
> is clearer that it applies to a address range and is not
> some synonym for pci_map_*

GFP_DMA32 is clear because there are no other arches to muddy up the
waters.