On Wed, Nov 14, 2012 at 1:19 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.
>
> struct rdma_cm_id *id;
>
> ibv_reg_mr(id->pd, ...);

It actually turned out to be id->qp->pd for me for some reason; the
rdma_cm_id struct on my machine has no pd member. But other than that,
all is working great. Thanks again.

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

Reply via email to