Messages in this thread | | | Date | Tue, 11 Nov 2008 14:53:46 +0900 | Subject | Re: [Q] Why does dma_alloc_coherent() of ia64 GFP_DMA? | From | FUJITA Tomonori <> |
| |
On Mon, 10 Nov 2008 16:06:52 -0600 (CST) Christoph Lameter <cl@linux-foundation.org> wrote:
> On Mon, 10 Nov 2008, Yasunori Goto wrote: > > > Even if a device allows over 4G access and the driver doesn't specify > > GFP_DMA, dma_alloc_coherent() returns under 4G area. > > GFP_DMA can become 0 for configurations that have > !CONFIG_ZONE_DMA. Then all of memory is available. > > The call is subarch specific. So f.e. Altix sn_dma_alloc_coherent does > not set __GFP_DMA.
Is it because it does some kinda address translation (provider->dma_map_consistent) later? The zone flag is meaningless if you do sorta address translation (e.g. hardware IOMMU like VT-d).
| |