On Fri, 4 Jan 2002, Ilya Volynets wrote:
> On Friday 04 January 2002 11:33 am, you wrote:
> This is true in theory. In practice you have to look at kmalloc implementation
> and how it uses GFP_DMA. I don't remember anything arch specific in there,
> but I never seriously dug in that part. I believe it doesn't do what we need,
> otherwice We'd be using it for pci_alloc_consistent.
Well, both pci_alloc_consistent and kmalloc will end up calling
__get_free_pages, with the GFP_DMA flag set. On setup, with the MIPS64
arch, DMA memory is set to start in non-cacheable space (don't know how).
So both pci_alloc_consistent and kmalloc(GFP_DMA,...) will return DMA safe
(i.e. non cacheable) memory.
see mm/slab.c (for kmalloc and how it finally calls __get_free_pages).
regards,
Vivien Chappelier.
|