[openib-general] makiing ibverb.h transport neutral -- 2nd draft
Sean Hefty
mshefty at ichips.intel.com
Wed Jul 13 12:04:46 PDT 2005
Caitlin Bestler wrote:
> The presumption is that most callers of rdma_poll_cq want
> to apply transport neutral logic. This is especially easy
> when no specific recovery plans are in place based upon
> the specific error (the specific error just gets logged).
The logic surrounding the call could be transport neutral, but the data
structure into the call itself cannot be. I don't think that it makes sense
to provide a neutral call that requires a transport specific input
parameter. To use rdma_poll_cq() in a neutral fashion, the application
needs to allocate largest possible data structure, and the data structures
must match in the layout of the common portions.
> defining a type that can hold any of the results. The
> presumption is that the consumer will note the type, and
> if they wish to process tht type shift to a routine that
> casts the wc to the required matching struct.
The provider needs to perform the casts as well, such as when posting work
requests.
> The alternative would be to use extensivel sub-types on
> input, and unions for work completions. That works, but
> could easily be confusing to developers.
I'm not sure that's any more confusing than requiring the developer to know
which data type is actually expected. It does make the data structures
larger than they may need to be.
- Sean
More information about the general
mailing list