Re: [Q] Why does dma_alloc_coherent() of ia64 GFP_DMA?

From: Robin Holt
Date: Mon Nov 10 2008 - 14:07:28 EST


On Mon, Nov 10, 2008 at 01:59:57PM +0100, Andi Kleen wrote:
> Yasunori Goto <y-goto@xxxxxxxxxxxxxx> writes:

> > 3) A device which allows over 4GB is hot-added.
> > But dma_alloc_coherent() try to allocate DMA zone.
> > Then OOM occurs because there is no freeable pages.
> >
> > I heard there are some users who require a few GB mlock.
>
> Normally mlock is limited to half the memory exactly to avoid
> such problems.
>
> Also I believe there are some issues with non continuous memory on
> some IA64 systems -- e.g. Altixes iirc have the requirement
> that you use the IOMMU for higher memory. So it's probably
> not easy to change.

I am not sure what is be referred to here, but all of an Altix's memory is
DMA capable with the exception of the stuff covered by the MSPEC driver
(that is uncached memory). There are certainly all sort of special
requirements for doing transfers on Altix to eliminate memory ordering
problems, but nothing specific that I recall related to address ranges
and DMA.

I appologize in advance if I am answering a different question that
was asked.

Thanks,
Robin
--
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/