[openib-general] makiing ibverb.h transport neutral -- 2nd draft
Sean Hefty
mshefty at ichips.intel.com
Wed Jul 13 15:31:48 PDT 2005
Caitlin Bestler wrote:
> So would you favor changing the signature to match the largest
> size, with comment to the effect that you *could* use a cast
> and a smaller object but only if you are sure.
I haven't decided on what might be the best approach for this call yet, I'd
just like to ensure that the API provides the best performance. If QPs and
CQs are both transport specific, I'm wondering now if verbs is the best
place to abstract RDMA functionality, or if it will result in losing some of
the details provided by the underlying architecture.
There doesn't seem to be much to iwarp_verbs.h. Assuming that the API is
complete, iWarp seems to use a subset of the structures defined by IB. Why
couldn't the current data structures just be renamed from ib_blah to
rdma_blah, with notes that some fields apply only to IB?
Some of the data structures already have fields that only apply for specific
completion types, work requests, QPs, etc. So, marking them for IB only
doesn't seem like that much of a stretch, and transport neutral code would
need to allocate the space anyway. This way we would only need to change a
few enums and move IB specific functions to a new file.
> I can see the danger of someone just using 'rdma_wc', so flipping
> the naming convention would definitely make sense.
>
> As to the size. Is there a size smaller than 256 that crosses
> over into a significantly safer stack allocation but is still
> *very* safe in terms of 'sure to be big enough'? Keep in mind
> that 'struct sockaddr' has problems precisely because 'biggest
> possible address' turned out to be too small.
Work completions are used in speed path operations, so should be optimized
for caching, retrieving multiple completions, etc., versus optimizing it for
transport neutral code. struct rdma_wc_storage isn't used anywhere in the
API, so why not make that a union of struct ib_wc and struct iwarp_wc? (Of
course this leads us back to unions if swapping the naming convention...)
- Sean
More information about the general
mailing list