Re: How to efficiently handle DMA and cache on ARMv7 ? (was "Isget_user_pages() enough to prevent pages from being swapped out ?")

From: Robin Holt
Date: Fri Aug 07 2009 - 09:15:33 EST


On Fri, Aug 07, 2009 at 02:07:43PM +0200, Laurent Desnogues wrote:
> On Fri, Aug 7, 2009 at 11:54 AM, Jamie Lokier<jamie@xxxxxxxxxxxxx> wrote:
> >
> > 1. Does the architecture not prevent speculative instruction
> > prefetches from crossing a page boundary?  It would be handy under the
> > circumstances.
>
> There's no such restriction in ARMv7 architecture.

Doesn't it prevent them for uncached areas? I _THOUGHT_ there was an
alloc_consistent (or something like that) call on ARM which gave you
an uncached mapping where you could do DMA. I also thought there was
a dma_* set of functions which remapped as uncached before DMA begins
and remapped as normal after DMA has been completed.

Sorry for the fuzzy recollection. I am dredging from 2.6.21 timeframe.

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/