Will do From: Tzachi Dar Sent: Tuesday, January 04, 2011 10:11 AM To: Smith, Stan; [email protected]; Alex Naslednikov Subject: RE: [ofw] [patch] [ipoib_NDIS6_CM] The send_lock is being held once __send_cb is calling __send_complete_net_buffer.
It seems that the same is true for ipoib_port_resume(). Xalex, can you try this and see that this is working? Thanks Tzachi From: Smith, Stan [mailto:[email protected]] Sent: Monday, January 03, 2011 10:35 PM To: Tzachi Dar; [email protected] Subject: RE: [ofw] [patch] [ipoib_NDIS6_CM] The send_lock is being held once __send_cb is calling __send_complete_net_buffer. ________________________________ From: Tzachi Dar [mailto:[email protected]] Sent: Monday, January 03, 2011 11:03 AM To: Smith, Stan; [email protected] Subject: RE: [ofw] [patch] [ipoib_NDIS6_CM] The send_lock is being held once __send_cb is calling __send_complete_net_buffer. The lock has to be unlocked since our call to ndis NdisMSendComplete can cause NDIS to call us to send in the same dpc, and there we reach a deadlock. We have seen this happen once, and we wander why we don't see that every time. OK, makes sense that NDIS could call back; I was curious on how the problem of holding send_lock locked was detected. What about the proposed change to ipoib_port_resume()? Thanks Tzachi From: Smith, Stan [mailto:[email protected]] Sent: Monday, January 03, 2011 8:09 PM To: Tzachi Dar; [email protected] Subject: RE: [ofw] [patch] [ipoib_NDIS6_CM] The send_lock is being held once __send_cb is calling __send_complete_net_buffer. Hi Tzachi, A couple of questions: Why is p_port->send_lock is required to be unlocked when calling NdisMSendNetBufferListsCompleteX() which translates to NdisMSendComplete() call? If p_port->send_lock is required to be unlocked when calling NdisMSendNetBufferListsCompleteX(), then ipoib_port_resume() should call __send_complete_net_buffer( s_buf, NDIS_STATUS_FAILURE, NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL, TRUE) not FALSE as send_lock is held over calls to ipoib_port_resume(). stan. ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Tzachi Dar Sent: Saturday, January 01, 2011 11:55 PM To: Tzachi Dar; [email protected] Subject: Re: [ofw] [patch] [ipoib_NDIS6_CM] The send_lock is being held once __send_cb is calling __send_complete_net_buffer. Applied on 3053. Thanks Tzachi From: [email protected] [mailto:[email protected]] On Behalf Of Tzachi Dar Sent: Sunday, December 26, 2010 6:39 PM To: [email protected] Subject: [ofw] [patch] [ipoib_NDIS6_CM] The send_lock is being held once __send_cb is calling __send_complete_net_buffer. Index: D:/projinf2_1_3_1/MLNX_WinOF-2_1_3/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp =================================================================== --- D:/projinf2_1_3_1/MLNX_WinOF-2_1_3/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp (revision 7086) +++ D:/projinf2_1_3_1/MLNX_WinOF-2_1_3/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp (revision 7087) @@ -6238,7 +6238,7 @@ __send_complete_net_buffer( s_buf, status, NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL, - FALSE ); + TRUE ); cl_atomic_dec( &p_port->send_mgr.depth );
_______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
