Hi,
We have developped a custom board using the C6655 DSP. We have ported the Desktop Linux SDK to the ARM platform and also added support for the C665x DSP.
We finally managed to get DMA to work and starting comparing the different PCIe transfer rate using the filetest demo. Here is the returned transfer rates from the tool for both the DMA and memcpy test:
Payload size(bytes) | DMA read rate (Mbytes / s) | DMA write rate (Mbytes / s) | memcpy read rate (Mbytes / s) | memcpy read rate (Mbytes / s) |
128 | 1 | 1 | 11 | 29 |
256 | 3 | 3 | 16 | 34 |
1024 | 12 | 11 | 25 | 37 |
4096 | 41 | 30 | 28 | 38 |
65536 | 124 | 60 | 29 | 37 |
I was a bit surprised that the DMA read/write rates were so low when using small payloads.
Is this expected?
If so, what is the causing the overhead when using DMA with small buffers?
Is there anything that should be changed in the filetest demo that could accelerate the DMA transfer for smaller buffers?
Best regards,
- David