Thread (8 messages) 8 messages, 3 authors, 2015-07-18

[PATCH v5] arm DMA: Fix allocation from CMA for coherent DMA

From: Lorenzo Nava <hidden>
Date: 2015-07-03 11:27:52
Also in: lkml

On Fri, Jul 3, 2015 at 11:03 AM, Russell King - ARM Linux
[off-list ref] wrote:
On Wed, Jul 01, 2015 at 12:12:51PM +0100, Catalin Marinas wrote:
quoted
On Tue, Jun 30, 2015 at 11:29:06PM +0200, Lorenzo Nava wrote:
quoted
This patch allows the use of CMA for DMA coherent memory allocation.
At the moment if the input parameter "is_coherent" is set to true
the allocation is not made using the CMA, which I think is not the
desired behaviour.

Signed-off-by: Lorenzo Nava <redacted>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
If Russell doesn't have any objections, you can send the patch to
his patch system. See here for more information:
I'm left wondering whether this patch is really want Lorenzo wants.
From my reading of it, while this has the effect of allocating from
CMA for coherent devices, it's no different from the non-coherent
case, because by calling __alloc_from_contiguous(), we end up
remapping the allocated memory, removing the cacheability status
from the allocated pages.

This brings up an interesting point: presumably, it's been tested, and
people are happy with the performance it's giving, inspite of it not
returning cacheable memory... or maybe it hasn't been tested that much?
As Catalin correctly pointed out, I always consider that this patch:

https://lkml.org/lkml/2015/5/7/512

has been applied. The memory returned by mmap is then cacheable and
preserve the attributes used during allocation.
Of course, without that patch, mine is not working at all.

(Sorry for the previous mail which has been sent accidentally).

Lorenzo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help