WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] linux: GFP_DMA/GFP_DMA32

>>> Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> 04.04.07 09:11 >>>
>How many callers rely on GFP_DMA32? We gave up on GFP_DMA because no halfway
>modern hardware relies on it and we can't currently satisfy requests for
>memory below 16MB anyway.

For GFP_DMA, I stopped counting when I found the third or fourth one - the
grep indicated another dozen or so candidates. For GFP_DMA32, it's just two
(all agp drivers, which I said I have a fix for, and 
drivers/media/video/video-buf.c -
there are many suspicious virt_to_phys() uses underneath drivers/media/, so this
subtree looks broken in general).
In may cases GFP_DMA is just being used to restrict memory to somewhere below
32-bits, not necessarily to 24.

>As for solutions, either we have to hook the memory allocator somehow to get
>a call out to allocate memory of the correct type, or callers do indeed need
>fixing one by one.

I thought about possible hooks, too, but after a page was allocated you don't
know what GFP_* it was allocated with. The only not too intrusive way I could
immediately think of would be to further leverage PG_foreign here, but I'm
afraid its use of page->index may then get into conflict with other uses...

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>