On Wed, Nov 14, 2012 at 12:13 PM, Hefty, Sean <[email protected]> wrote:
> The rdma_cm will automatically allocate one PD per RDMA device. You can > share this PD among multiple connections. To use this PD, pass in NULL into > rdma_create_qp(). The rdma_cm_id will reference the shared PD. That's great to know; thanks Sean (and everyone else who confirmed that a shared PD and possibly CQ is the way to go). Is there a way to reference this shared PD in ibv_reg_mr() as well? It seems that using NULL there too is not the solution, and I'm having difficulty tracing back from struct rdma_cm_id to find out where that shared PD is stored. I'd prefer to use this solution for simplicity's sake, so any additional details would be greatly appreciated. For what it's worth, I tried passing NULL to rdma_create_qp() as you suggested, and found it to work admirably. >> Long question short: is there any way I can share the same MR among >> multiple clients, so that my shared memory region is limited to N >> bytes instead of N/C (clients) bytes? > > Yes, but if there are multiple devices being used, then you'll need to track > those registrations separately. That's reasonable. Thanks, Christopher -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
