Hi Leon, Thank you for your reply. > Sorry for my question, but why do you need it? I'd like to write data to the buffer, prepared by DRM (gpu) driver as a frame buffer, using RDMA. There is a similar project as follows. https://www.openfabrics.org/wp-content/uploads/2020-workshop-presentations/303.-OFI-GPU-DMA-BUF-OFA2020v2.pdf They prepare a mechanism to share a dmabuf fd between DRM driver and RDMA driver, in order to update frame buffer using RDMA. I'm trying to develop that in userland. Some DRM drivers use CMA to allocate the buffer. I met the problem in an environment that CMA used. > From that I remember, CMA memory is used for the devices that doesn't > support scatter-gather, while RDMA devices (umem) need SG. Yes, the CMA memory is allocated for a device that doesn't support scatter-gather. Thanks,