On 07/20/2017 05:17 PM, Sagi Grimberg wrote: >> A memory region created for a new RMB must be registered explicitly, >> before the peer can make use of it for remote DMA transfer. > > OK, Now I understand the sgl construction in the previous patch. > > We got rid of the synchronous memory registration API in the kernel > in the absence of users, but now with smc we might want to restore > it because looking at the patchset, the fast memory registration > scheme is obviously not a good fit. > > For the simple smc use case the API should be as simple as: > > ib_reg_contig_mr(struct ib_pd *pd, void *addr, size_t length); > > Do you have a use-case for scattered buffers memory registration? > >From my smc perspective I would like to finally allocate the RMB memory as scattered pages mapped to contiguous DMA-memory. When creating a new connection the smc protocol exchanges some information, among them the dma-address to enable the peer for RDMA WRITEs. According to the smc protocol just one dma-address can be exchanged; thus contiguous DMA-memory describable by one address only is required here. I have prepared already such an smc patch, and it worked for s390, but on my x-system the scattered pages mapped to scattered DMA-memory after calling ib_dma_map_sg() and ib_map_mr_sg(). Have I missed something? Is there a way to explicitly ask for mapping to contiguous memory? -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html