Re: GFP_DMA32 and PAE x86 machines

From: Andi Kleen
Date: Thu May 31 2007 - 08:11:58 EST



> Funnily enough I have just today with an app I have which uses 1.2GB
> of textures :-)

Realistic app which is something users really run?
Also do the other constraints above apply?

If you use pci_alloc_coherent() then it will already take care of the rules
above btw (e.g. DTRT when the machine has <3GB etc.)

> we are currently using GFP_DMA32 in the TTM allocator code, however
> what I really want on x86 non-PAE is GFP_HIGHMEM (as DMA32 does
> nothing) however on x86-PAE I don't want that I want a real GFP_DMA32,
> and on x86-64 I want the current GFP_DMA32,

You should be probably using pci_alloc_coherent() at least on x86.
It might get more expensive on some obscure platforms (which DRM
likely doesn't support anyways), but if it does perhaps a pci_alloc_noncoherent()
or so would be useful (on x86 it would be the same)

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/