[ofw] ConnectX functionality is completely broken

Sean Hefty sean.hefty at intel.com
Thu Jul 31 22:25:39 PDT 2008


After reading back over the code, I think I understand why I didn’t see any
issues.  The only events likely to have been generated by my tests with respect
to this patch are CQ completion events.  The changes for this one area should be
okay, but Leonid’s patch not only fixes the other areas, but cleans this one up
some.  See below.

- // fill the object
- cq_p = (struct mthca_cq *)ib_cq_p;
- cq_p->cq_context = (void*)cq_context;

This saved the user’s cq_context

 
- cq->ibcq.comp_handler(cq->cq_context);

which was used in the direct callback to the user

For mthca, there are two context values with each object.  For example, in
struct mthca_cq, there’s cq_context, and another in struct mthca_cq:struct
ib_cq:cq_context.  The latter context is set incorrectly and gets used for async
events, which, apparently, aren’t all that common, at least on my systems.

- Sean




More information about the ofw mailing list