On Friday 04 July 2008 01:04, Or Gerlitz wrote: > I can't take this, we think that creation flags can be a good way to > go wrt minimizing ABI changes, I am not enough into the XRC impl to > tell why creation flags are not used there. > XRC was added as a new QP type, because it is a separate, distinct qp type which allows an RC QP to send directly to an SRQ, rather than to an RC QP.
Knowledge that we are dealing with XRC QPs needs to be maintained in the core layer beyond just QP creation time (e.g., ib_destroy_qp() needs this information to decrement the xrc domain usecount when an XRC QP is destroyed), so that using a creation flag for this is not clean. Regarding the creation flag for XRC RCV QPs, I think I can (and should) get rid of it. It is only used by ib_uverbs_create_xrc_rcv_qp() to indicate to the low-level driver that we're creating an xrc receive qp, not a regular xrc qp (the caller NEVER sets this flag). ib_uverbs_create_xrc_rcv_qp() also invokes the low-level driver's create_xrc_rcv_qp function, so that this flag is clearly unneeded (the low-level driver can "remember" that it is dealing with an XRC receive qp by just setting a flag internal to its own qp object, and not a qp creation flag. - Jack _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
