10-23-2020 05:02 AM
Hi, I am using the DMA proxy example and is able to execute dma-test with success in the transfer and reception of data in a loopback fashion.
However i discovered that after the dma-test performs the closure, i.e. munmap(tx_proxy_interface,...) munmap(rx_proxy_interface,...) and even close (tx_proxy_fd); and close(rx_proxy_fd), the memory is still held on by the application and not released.
I found this after i incorporated the dma-proxy example into my application and found that after a period of time of dma transfers, the application crashes as it has run out of memory. My debugging trace the issue back to the dma-test and when i place monitoring of allocated virtual memory, i saw that the memory was never deallocated, even at the very end of the codes where supposedly all proper closure are performed.
Please help to look at this case. Thank you.
11-24-2020 09:41 PM
This is very frustrating...
The dma-proxy works but it just accumulates in memory and later crashes due to inability to get more memory.
I scan through the dma-proxy codes and there seems no malloc created other than the initial TX and RX. I dont know why the memory keeps increasing..
I just dont understand why this issue is not faced by others before..