Standard support is taking a bit long to answer this one,
so I thought I’d try here so long:
Application is allocating memory for DMA access as follows:
/* Allocate a physically contiguous buffer */
addr = mmap( 0,
This memory is filled via DMA from a video grabber,
and the customer used the memory directly for calculations.
However, accessing this memory is 10 times slower than allocating
a malloc’ed memory.
By copying the DMA’ed data to a malloc’ed block
and then using that for the calculation reduces the
calculation time by 90%!
Why is it so much slower?
Is MAP_PHYS needed for DMA?