Hi,
I am using EDMA3 for double-buffering, loading and storing data from DDR in background while the processing code operates on L2SRAM.
However currently I am investigating performance issues and found that I am frequently spinning waiting for the DMA transfers to finish,
therefore the DMA transfers seem to take longer than the actual processing. As soon as I disable waiting for DMA units, throughput improves by 10%.
Because bandwidth is not that high (~ 1,2 GByte/s), I thought maybe latency could be an issue - as the slices I transfer are rather small (~12kB input, ~96kB output per Iteration) and one Iteration takes ~80k Cycles.
I am currently using plain DMA channels (as there are situation when I run out of QDMA channels elsewhere), could it be those DMA channels have a very high latency (~10 kCycles's) between triggering a channel and starting the actual transfer?
HAve numbers been published about latency of DMA / QDMA channles for EDMA3/C6678?
Thank you in advance, Clemens