Thread (6 messages) 6 messages, 4 authors, 2011-01-04

[PATCHv8 00/12] Contiguous Memory Allocator

From: Russell King - ARM Linux <hidden>
Date: 2010-12-23 13:52:08
Also in: linux-media, linux-mm, lkml

On Thu, Dec 23, 2010 at 02:41:26PM +0100, Michal Nazarewicz wrote:
Russell King - ARM Linux [off-list ref] writes:
quoted
Has anyone addressed my issue with it that this is wide-open for
abuse by allocating large chunks of memory, and then remapping
them in some way with different attributes, thereby violating the
ARM architecture specification?

In other words, do we _actually_ have a use for this which doesn't
involve doing something like allocating 32MB of memory from it,
remapping it so that it's DMA coherent, and then performing DMA
on the resulting buffer?
Huge pages.

Also, don't treat it as coherent memory and just flush/clear/invalidate
cache before and after each DMA transaction.  I never understood what's
wrong with that approach.
If you've ever used an ARM system with a VIVT cache, you'll know what's
wrong with this approach.

ARM systems with VIVT caches have extremely poor task switching
performance because they flush the entire data cache at every task switch
- to the extent that it makes system performance drop dramatically when
they become loaded.

Doing that for every DMA operation will kill the advantage we've gained
from having VIPT caches and ASIDs stone dead.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help