[openib-general] [PATCH 1/6] libibverbs include files changes.
Krishna Kumar2
krkumar2 at in.ibm.com
Mon Jul 31 22:23:14 PDT 2006
Hi Sean,
I still have a problem. Many enums have both IB specific and RDMA generic
defines. Eg :
enum ibv_event_type {
IBV_EVENT_CQ_ERR,
IBV_EVENT_QP_FATAL,
IBV_EVENT_QP_REQ_ERR,
IBV_EVENT_QP_ACCESS_ERR,
IBV_EVENT_COMM_EST,
IBV_EVENT_SQ_DRAINED,
IBV_EVENT_PATH_MIG,
IBV_EVENT_PATH_MIG_ERR,
IBV_EVENT_DEVICE_FATAL,
IBV_EVENT_PORT_ACTIVE,
IBV_EVENT_PORT_ERR,
IBV_EVENT_LID_CHANGE,
IBV_EVENT_PKEY_CHANGE,
IBV_EVENT_SM_CHANGE,
IBV_EVENT_SRQ_ERR,
IBV_EVENT_SRQ_LIMIT_REACHED,
IBV_EVENT_QP_LAST_WQE_REACHED,
IBV_EVENT_CLIENT_REREGISTER
};
It looks weird to keep some elements in the above enum as IBV_ and others
as RDMA_. A lot of other enums have this same problem, eg
ibv_qp_attr_mask,
infact this is true of all enums/structures/defines that have some
elements that
are IB specific.
Thanks,
- KK
Sean Hefty <mshefty at ichips.intel.com> wrote on 07/31/2006 10:47:20 PM:
> > - "Path records are IB specific. Not sure we need to rename them" and
"These
> > changes look fine. We just need to decide if we want to change
everything
> > that's ibv_* to rdma_*, or keep IB specific names (path records, GIDs,
PKeys,
> > etc.) the same."
> >
> > I had indicated this in my "Information notes" in the [PATCH 0/6] :
"IB
> > specific routines are also converted to use RDMA generic API's for
sake of
> > uniformness (knowing that transport dependent names will be removed
once all
> > apps are converted)."
> >
> > The issue is between deciding to have either rd(ma)_v or ibv_ for IB
specific
> > structures. Currently there is no other transport other than IB that
has
> > these specific structures, but if that changes it might be better to
keep the
> > name transport agnostic. Another reason that I see at this time is to
have
> > uniform names which means that this library exports names using one
prefix -
> > this means that I do not have to care about the underlying transport
type and
> > I also do not have to remember that ibv_ is for [a, b, c, d]
operations and
> > rdma_ is for [e, f, g, h] operations. What do you feel ?
>
> If an application is looking at a path record, GID, PKey, etc. they they
_are_
> caring about the underlying transport type and the fact that it is IB.
An
> application that wants to be transport neutral would just need to limit
itself
> to using rdma_* structures and APIs.
>
> If we take a larger view, I don't think we want transport neutral names
for the
> IB CM and IB MAD userspace APIs and structures. Things like path
records, GIDs,
> etc. are also used by those libraries.
>
> - Sean
More information about the general
mailing list