linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Slow access to data in mmaped memory areas
@ 2016-03-05 16:23 David Müller (ELSOFT AG)
  0 siblings, 0 replies; only message in thread
From: David Müller (ELSOFT AG) @ 2016-03-05 16:23 UTC (permalink / raw)
  To: linux-arm-kernel

Hello

I have a multi-core Cortex-A9 based system where an external busmaster 
capable device is transmitting data into the system memory. 
Unfortunately the device's DMA engine does not support "scatter-gather" 
mode.
The CPU job is to process the data received from the device.

I have written a driver which allocates serveral continuous memory block 
(each 2MiB in size) as buffers, and transfers the data from the external 
device to the buffers by DMA.

I have also written an application which accesses the data by "mmaping" 
the buffers into the application's address space.
All this works ok, but processing performance of the data by the CPU is 
pretty slow.

After looking at arch/arm/mm/mmu.c and arch/arm/mm/dma-mapping.c, it 
seems like caching is disabled for all mmaped memory areas.

Is this observation correct?
Is there a way to re-enable caching for mmaped memory areas after the 
DMA transfer is completed and to disable caching before the next DMA starts?

Dave

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-03-05 16:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-05 16:23 Slow access to data in mmaped memory areas David Müller (ELSOFT AG)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).