[ofw] [patch] [ipoib_NDIS6_CM] The send_lock is being held once __send_cb is calling __send_complete_net_buffer.
Tzachi Dar
tzachid at mellanox.co.il
Tue Jan 4 00:10:35 PST 2011
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:stan.smith at intel.com]
Sent: Monday, January 03, 2011 10:35 PM
To: Tzachi Dar; ofw at lists.openfabrics.org
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:tzachid at mellanox.co.il]
Sent: Monday, January 03, 2011 11:03 AM
To: Smith, Stan; ofw at lists.openfabrics.org
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:stan.smith at intel.com]
Sent: Monday, January 03, 2011 8:09 PM
To: Tzachi Dar; ofw at lists.openfabrics.org
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: ofw-bounces at lists.openfabrics.org [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Tzachi Dar
Sent: Saturday, January 01, 2011 11:55 PM
To: Tzachi Dar; ofw at lists.openfabrics.org
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: ofw-bounces at lists.openfabrics.org [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Tzachi Dar
Sent: Sunday, December 26, 2010 6:39 PM
To: ofw at lists.openfabrics.org
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 );
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20110104/574daf86/attachment.html>
More information about the ofw
mailing list