[ofa-general] Re: [PATCHv3 for-2.6.21] IB/mthca: fix race in QP destroy

Roland Dreier rdreier at cisco.com
Thu Mar 8 15:54:55 PST 2007


 >     It is common practice to put a pointer/index to a per-QP
 >     structure inside the wrid. This data is available after poll_cq
 >     returns, when cq lock is not taken.  If this pointer is used
 >     directly inside the event handler, the ULP that is moving QP to
 >     reset has no way to know when is it safe to free data it points to,
 >     unless the verbs provider synchronizes with the IRQ handler
 >     before the verbs returns.

Does this fix any problem for in-tree (or OFED) drivers?  Because I'm
not convinced this is something that a low-level driver should try to
handle.  A ULP that suffers from this that polls a CQ from a
workqueue, say, rather than an interrupt remains broken even after
this change.  And my gut feeling is that this type of problem is
something a ULP should handle by not getting into this situation in
the first place.

BTW, have you had a chance to test the other changes and see if they
fix the IPoIB CM issue?

 - R.



More information about the general mailing list