Re: [Linaro-mm-sig] [RFC] ARM DMA mapping TODO, v1

From: Jordan Crouse
Date: Fri Apr 29 2011 - 11:37:49 EST


On 04/29/2011 07:42 AM, Joerg Roedel wrote:
On Thu, Apr 28, 2011 at 03:37:00PM -0400, Jerome Glisse wrote:
As Jesse pointed out already, for performance reasons it's lot better
if you let the driver decide even if you have an iommu capable of
handling coherency for you. My understanding is that each time
coherency is asked for it trigger bus activities of some kind (i think
snoop is the term used for pci) this traffic can slow down both the
cpu and the device. For graphic driver we have a lot of write once and
use (once or more) buffer and it makes a lot of sense to have those
buffer allocated using uncached memory so we can tell the device (in
case of drm driver) that there is no need to trigger snoop activities
for coherency. So i believe the decision should ultimately be in the
driver side.

Stupid question: Couldn't these write-once-read-often buffers just stay
in the memory of the GPU instead of refetching them every time from main
memory? Or is that necessary because of the limited space on some GPUs?

Not all embedded GPUs have their own dedicated memory. On the MSM architecture
the devices and the CPU share the same physical pool.

Jordan
--
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/