Re: [PATCH 2/4] ib_core: implement XRC RCV qp's

Roland Dreier
2010-04-29T19:46:22Z

> Note that for users who do not wish to utilize the reg/unreg verbs,
> a destroy_xrc_rcv_qp verb is also provided. Thus, usage is:
> Either: create/destroy_xrc_rcv_qp
> Or: create/reg/unreg_xrc_rcv_qp (the unreg is used in place of destroy)

I don't really understand the semantics here. What is supposed to
happen if I do create/reg/destroy? What happens if one process does
destroy while another process is still registered? To make everything
even more confusing, mlx4 defines unreg_rxc_rcv_qp to be equivalent to
destroy_xrc_rcv_qp. I'm not even clear why the low-level driver has two
entry points for these two methods -- shouldn't the uverbs core be
handling the counting/listing of xrc rcv qps and just ask the low-level
driver to destroy the QP when it's really done with it?

(By the way, should we use the name "target QP" instead of "rcv QP" to
match the actual IB spec?)

- R.
--
Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> || For corporate legal information go to: