[openib-general] ibv_cmd_create_qp() question
Roland Dreier
rdreier at cisco.com
Wed Feb 15 13:30:52 PST 2006
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