On Thu, Jun 23, 2011 at 12:45:23AM +0000, Hefty, Sean wrote:

> The idea is that a single version of libibverbs would support
> both ibverbs and ofverbs via macro magic, with full compatibility with
> ibverbs.  An app would need to be compiled with CFLAGS=-DOFED_VERBS to
> pick up the ofverbs.
 
> This doesn't quite work seamlessly.  I downloaded mvapich2 and built it
> with the following options:
> 
> 
> This failed with
> .../reg_cache/avl.h:42: error: conflicting types for VISIT
> /usr/include/search.h:126: note: previous declaration of VISIT was here
 
> This can probably be worked around by moving the use of search.h into
> an ofed-verbs.c file and exporting ofv_open_xrcd().  (I tried to minimize
> the impact to the upstream libibverbs, hoping it would help make this
> more acceptable for merging.)

Once you create a new linkable symbol you may as well un-inline the
bulk of this emulation..

I don't think this has any place in upstream though, the number of
users of XRC seems too tiny to carry this forever.

> fails with
> ch3_progress.c: In function ?cm_send_pending_1sc_msg?:
> ch3_progress.c:877: error: ?struct ibv_send_wr? has no member
> named ?xrc_remote_srq_num?

You could go like:

verbs.h:

#define ibv_send_wr _real_ibv_send_wr
// rest of verbs.h

#undef ibv_send_wr

#include "ofed-verbs.h"

ofed-verbs.h:

struct ibv_send_wr
{
 // ofa version
}

Then you don't need the #define to get to the correct version.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to