> After looking at this a bit I'm a bit concerned that your first
> extension goes around and requires edits to the various structs
> anyhow, which sort of defeats the purpose of making extensions, IMHO..

My thinking is that extensions mainly provide:

- a way for a vendor or organization to provide add-on functionality to
  an application (so we don't break things like the xrc patches did)
- a mechanism for libibverbs to obtain additional functionality from a
  provider library (where existing ibv_context_ops are insufficient)

Once a feature has been added directly to libibverbs, I would treat it slightly 
differently.  For example, I've since modified libibverbs to export direct APIs 
for opening/closing xrcd's and creating extended srq's.  An app doesn't need to 
call ibv_get_ext_ops() directly for xrc qp's; however, it would make use of the 
define for IBV_XRC_OPS if it wanted to support older versions of libibverbs.

Changing ibv_send_wr, ibv_qp_init_attr, ibv_srq, ibv_qp, etc. seemed like a 
much better alternative for providing XRC support than introducing an entire 
new set of structures and APIs.

> Do you think such changes will be required so often that this is just
> extra complexity? For instance, could you implement the multicast self
> loop flag feature using an extension ?

Based on history, I'd anticipate a small number of extensions provided by OFA 
or a vendor: tag matching? off-loaded MPI collective operations?  who knows...

Certain ibverbs APIs more easily support extensions that others.  Adding XRC QP 
support to the existing APIs without breaking existing apps is fairly easy, 
since the qp_type indicates if extended attributes are available.  XRC SRQs 
required a new API.  Supporting the multicast self loop flag is definitely 
doable; it's really just a matter of how easy it would be for an application to 
use it. :)

- Sean
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to