> They are not quite the same. How about:
 > #define CM_PACKET_SIZE (ALIGN(IPOIB_CM_MTU, PAGE_SIZE))

That makes sense.

 > >  > -               .event_handler = ipoib_cm_rx_event_handler,
 > > 
 > > why?  seems harmless to just leave this alone for all QPs even if an
 > > SRQ isn't attached.
 > 
 > If memory serves me right, I tried that and ran into some inexplicable 
 > problems.
 > Maybe it was hang or no traffic went through -don't exactly recollect what 
 > it was.
 > After this change the problem went away.

Umm... I would like to get to the root cause of that.  Because as far
as I can see there is no problem if the event handler is called for a
non-SRQ QP.  The event will never be "last WQE reached" (since only a
QP attached to an SRQ can generate that) and so the event handler will
just return immediately and do nothing.

 > The atomic_dec() does happen, but that is in ipoib_cm_req_handler(). There 
 > are
 > several places where allocate_and_post_rbuf_nosrq() could return an error 
 > after 
 > the atomic_inc(). So, there is an atomic_dec() in the calling routine. On the
 > other hand I could move that to allocate_and_post_rbuf_nosrq() itself.

Got it.  I guess that's OK although it does seem like it would be
clearer if allocate_and_post_rbuf_nosrq() unwound everything on error.

 - R.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to