[openib-general] ibv_cmd_create_qp() question

Steve Wise swise at opengridcomputing.com
Wed Feb 15 13:43:19 PST 2006


Just curious, why don't all the verbs have this support?  

Maybe we should align all the verbs to support commands and responses
that allow provider-specific extensions?

Stevo.


On Wed, 2006-02-15 at 13:30 -0800, Roland Dreier wrote:
>     Heiko> Hello Steven, we had this problem, too. For
>     Heiko> ibv_cmd_create_qp we pass via our cmd struct the address of
>     Heiko> the response block to the kernel.The kernel can copies then
>     Heiko> all values into the response block (from kernel space to
>     Heiko> user space).
> 
>     Heiko> The provider library can then the provider specific
>     Heiko> information which are passed from the kernel.
> 
> Oh man, I didn't notice that before.  Please don't work around the
> existing code like that -- just fix the interface to do what you need.
> I really don't want low-level drivers using extra userspace pointers
> to stick their extra data into.
> 
> Please use the existing ib_copy_to_udata() function to add
> driver-specific after the core response instead.  You can look at how
> mthca gives the device-specific CQ number back to userspace for the
> create CQ operation to see the right way to do this.
> 
> Making this work for create QP means that ibv_cmd_create_qp() needs to
> handle responses the same what ibv_cmd_create_cq() does, which is a
> driver API change.  But given that ehca needs it too, I'm now
> convinced that the change that Steve wants for ibv_cmd_create_qp() is
> necessary in libibverbs 1.0.
> 
>  - R.




More information about the general mailing list