I allocated memory on the DPU’s Arm side, and then used RDMA write on this memory in DPA. This works.
The steps are as follows:
1、Allocate memory from the host
2、Create an mmap
3、Export the mmap
4、Create an mmap from the export
5、Get the mmap handle from the export mmap
However, when I change the first step to allocate memory from DPA instead (use doca_dpa_mem_alloc()), the program gets stuck after performing RDMA, waiting indefinitely for the RDMA write to complete. I modified my program based on the DPA_all_to_all sample.
May I ask, when allocating memory on the DPA, is it unnecessary to export it for remote RDMA access?