[openib-general] comments on DAT registry in OpenIB
Bob Woodruff
robert.j.woodruff at intel.com
Thu Jun 30 11:16:05 PDT 2005
Carlin wrote,
>True.
>My assumption is that each transport would have its
>own CM module with similar, but not identical APIs.
>An application wants to go direct it could do the
>if/else ifs on its own.
If the application will have to have if/else for some functions,
then it already has to be aware of the specific transport,
so one option is to have if/else for all calls.
There are however some functions,
like posting work requests and creating some resources that are probably
similar
enough to have a common routine, but it may require the
routine to make a check and vector to the appropriate
transport, which will add latency.
A scenerio something like,
if(IB) {
ib_sa_query()
ib_connect()
}
elseif (iWarp) {
iWarp_connect()
}
rdma_common_verb_create_pd()
rdma_common_verb_create_wq()
.
.
rdma_common_verb_post_wqe()
i.e., in some cases you might end up with,
rdma_common_verb_create_pd(xport_type)
{
switch (xport_type)
case IB:
ib_create_pd()
case IWARP:
iwarp_create_pd()
.
.
.
}
More information about the general
mailing list