<font size=2 face="sans-serif">Hal,</font>
<br>
<br><font size=2 face="sans-serif">Thank you for your help, I believe to
have found the problem. The problem occurs in the function you told me
(timeout_sends) this occurs in the QNX code as QNX doesn't compute jiffies
automatically. Whomever wrote the driver created a bug when computing jiffies
that gave me always the same time hence never timing out. This occurs in
the following statement:</font>
<br>
<br><font size=2 face="sans-serif">if(time_after(mad_send_wr->timeout,
jiffies)) {</font>
<br>
<br><font size=2 face="sans-serif">I was noticing that when it times out
this if statement becomes true eventually. Maybe after 1 or 2 tries, this
tells me that it will fail anyway if that's true is there a point at having
that if statement, why not just time out right away?</font>
<br><font size=2 face="sans-serif">Anyway, thank you once again.</font>
<br>
<br><font size=2 face="sans-serif">Hector Abrach</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">From:</font>
<td><font size=1 face="sans-serif">Hal Rosenstock <hal@dev.mellanox.co.il></font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">To:</font>
<td><font size=1 face="sans-serif">Hector Abrach <HAbrach@TMRIUSA.COM></font>
<tr>
<td valign=top><font size=1 color=#5f5f5f face="sans-serif">Cc:</font>
<td><font size=1 face="sans-serif">ewg@lists.openfabrics.org</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Date:</font>
<td><font size=1 face="sans-serif">12/22/2011 07:24 AM</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Subject:</font>
<td><font size=1 face="sans-serif">Re: [ewg] OpenSM 1.5.4 Boot Problem</font></table>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2>Hector,<br>
<br>
On 12/21/2011 2:16 PM, Hector Abrach wrote:<br>
> Hal,<br>
> <br>
> When an SMP times out how does the Linux kernel know it timed out?<br>
<br>
The kernel MAD module maintains a timer list for outstanding<br>
transactions and if no response is received before the timer expires, it<br>
knows that transaction timed out. If the matching response is received,<br>
it removes that transaction from that list. See timeout_sends in<br>
drivers/infiniband/core/mad.c<br>
<br>
> When the Linux kernel determines it timed out how does it signal OpenSM<br>
> the timeout/retry/send? Through what function calls does this signal
go<br>
> through?<br>
> <br>
> I was noticing that cl_event_wait_on in vl15_poller() has a parameter<br>
> passed as EVENT_NO_TIMEOUT should this be a time out or should the
time<br>
> out occur somewhere else? This is where it "stalls."<br>
<br>
Yes, I've already responded about this several times. I'm reasonably<br>
sure that this is due to erroneous QP0/VL15 accounting due to lack of<br>
timeouts.<br>
<br>
> Do you know somewhere I could read a little bit more about the Linux<br>
> Kernel timeout and how it interacts with OpenSM?<br>
<br>
In terms of the kernel, look at:<br>
linux/Documentation/infiniband/user_mad.txt<br>
and<br>
include/rdma/ib_mad.h and ib_user_mad.h<br>
<br>
OpenSM uses osm_vendor_ibumad.c which is layered on top of libibumad. In<br>
osm_vendor_ibumad.c, the send error callback is invoked for transaction<br>
timeout in umad_receiver. For libibumad, see umad_status and umad_send<br>
man pages.<br>
<br>
-- Hal<br>
<br>
> Thank you for the help and your insight.<br>
> <br>
> Hector Abrach<br>
> <br>
> <br>
> From:                
 Hal Rosenstock <hal@dev.mellanox.co.il><br>
> To:                
 Hector Abrach <HAbrach@TMRIUSA.COM><br>
> Cc:                
 ewg@lists.openfabrics.org<br>
> Date:                
 12/16/2011 11:11 AM<br>
> Subject:              
   Re: [ewg] OpenSM 1.5.4 Boot Problem<br>
> <br>
> <br>
> ------------------------------------------------------------------------<br>
> <br>
> <br>
> <br>
> Hector,<br>
> <br>
> On 12/16/2011 11:59 AM, Hector Abrach wrote:<br>
>> Hal,<br>
>><br>
>>> Is timeout/retry/send error support implemented in your QNX<br>
>>> implementation ? That would explain why the SM appears to
stop...<br>
>><br>
>> Based on the inherit nature of the QNX Kernel I don't believe
we have a<br>
>> timeout/retry/send on it. This may be the reason I see the bootup<br>
>> freeze. If it is I may have to implement this somehow.<br>
> <br>
> I think that's the OpenSM side of the failure as a timed out transaction<br>
> never times out so the MAD accounting is wrong, etc. It breaks that<br>
> fundamental assumption.<br>
> <br>
> There may also be some issue with the SMA implementation on your QNX<br>
> nodes which is the root cause. Of course, SMPs are unreliable so<br>
> timeout/retries can be needed...<br>
> <br>
>> However, for the time being at least, I believe that setting<br>
>> OSM_DEFAULT_SMP_MAX_ON_WIRE to 1 will be an acceptable solution
as it<br>
>> works reliably. But, it would be nice to know why it freezes anyway,
may<br>
>> be because of the above.<br>
>><br>
>> Thus far I've been unsuccessful in failing with debug property
-D 0x23<br>
>> but I'll keep trying.<br>
> <br>
> That slows things down enough to make it work as does 1 SMP outstanding.<br>
> It appears when SMPs are pipelined, some get dropped...<br>
> <br>
> -- Hal<br>
> <br>
>> Thank you<br>
>><br>
>> Hector Abrach<br>
>><br>
>><br>
>> From:                
 Hal Rosenstock <hal@dev.mellanox.co.il><br>
>> To:                  Hector
Abrach <HAbrach@TMRIUSA.COM><br>
>> Date:                
 12/15/2011 01:21 PM<br>
>> Subject:                
 Re: [ewg] OpenSM 1.5.4 Boot Problem<br>
>><br>
>><br>
>> ------------------------------------------------------------------------<br>
>><br>
>><br>
>><br>
>> On 12/15/2011 1:57 PM, Hector Abrach wrote:<br>
>>> Hal,<br>
>>><br>
>>> I managed to get it to fail with Debug information -D 0x08.
Attached is<br>
>>> the log file.<br>
>>> I'll dig deeper it seems is pkey related maybe...<br>
>><br>
>> Yes, I saw signs of that last night from the log you sent where
it<br>
>> stopped on the pkey tables on the CAs but I wasn't 100% sure whether
it<br>
>> was that or not. I didn't check how many pairs of the pkey tables
you<br>
>> got back here to validate whether every port responded with the
proper<br>
>> number of pkey table blocks.<br>
>><br>
>> Is timeout/retry/send error support implemented in your QNX<br>
>> implementation ? That would explain why the SM appears to stop...<br>
>><br>
>> -- Hal<br>
>><br>
>>> Once again thank you for your support.<br>
>>><br>
>>><br>
>>><br>
>>> Hector Abrach<br>
>>><br>
>>><br>
>>> From:                
 Hal Rosenstock <hal@dev.mellanox.co.il><br>
>>> To:                
 Hector Abrach <HAbrach@TMRIUSA.COM><br>
>>> Date:                
 12/14/2011 08:29 PM<br>
>>> Subject:              
   Re: [ewg] OpenSM 1.5.4 Boot Problem<br>
>>><br>
>>><br>
>>> ------------------------------------------------------------------------<br>
>>><br>
>>><br>
>>><br>
>>> Hector,<br>
>>><br>
>>> On 12/14/2011 5:49 PM, Hector Abrach wrote:<br>
>>>> Hal,<br>
>>>><br>
>>>> I got the system to fail with verbose enabled after 25
reboots. Please<br>
>>>> find attached the log file.<br>
>>>><br>
>>><br>
>>> I can see the responses but not the requests. What verbosity
level did<br>
>>> you use ?<br>
>>><br>
>>>> I was reading that OSM_DEFAULT_SMP_MAX_ON_WIRE is used
to pipeline the<br>
>>>> boot process in multi-switch systems and make the boot
process faster<br>
>>>> correct?<br>
>>><br>
>>> It's multinode not just multiswitch and this configuration
is 8 nodes (1<br>
>>> switch + 7 CAs). It's not boot process but discovery/initialization<br>
>>> which is pipelined.<br>
>>><br>
>>>> Since my system is a single switch system I do not need
to have<br>
>>>> 4 but 1 for OSM_DEFAULT_SMP_MAX_ON_WIRE.<br>
>>><br>
>>> You can run with 1 if that suits your needs. It's just not
the default.<br>
>>><br>
>>>> Maybe the pipelined SMP's are confusing the switch some
how.<br>
>>><br>
>>> Even if it did, there's nothing that should "stop"
the SM from<br>
>>> working/proceeding. From the log, it looks like the SM does
get stuck.<br>
>>><br>
>>> -- Hal<br>
>>><br>
>>>> Thanks again for your help.<br>
>>>><br>
>>>> Hector Abrach<br>
>>>><br>
>>>><br>
>>>> From:              
   Hal Rosenstock <hal@dev.mellanox.co.il><br>
>>>> To:                
 Hector Abrach <HAbrach@TMRIUSA.COM><br>
>>>> Cc:                
 ewg@lists.openfabrics.org<br>
>>>> Date:              
   12/14/2011 08:03 AM<br>
>>>> Subject:              
   Re: [ewg] OpenSM 1.5.4 Boot Problem<br>
>>>><br>
>>>><br>
>>>> ------------------------------------------------------------------------<br>
>>>><br>
>>>><br>
>>>><br>
>>>> Hi,<br>
>>>><br>
>>>> On 12/13/2011 2:35 PM, Hector Abrach wrote:<br>
>>>>> Hello,<br>
>>>>><br>
>>>>> I have a boot problem with OpenSM<br>
>>>><br>
>>>> Are you saying the switch is booted rather than OpenSM
?<br>
>>>><br>
>>>> What is the OpenSM running on and in what environment
?<br>
>>>><br>
>>>>> the problem occurs seldomly and<br>
>>>>> started to ocur when we started using a new Mellanox
MT1118X03342<br>
>> switch.<br>
>>>>> The problem occurs during the discovery phase within<br>
>>>> state_mgr_sweep_hop_1.<br>
>>>>><br>
>>>>> However, I discovered that the actual location is
because the<br>
>>>>> qp0_mads_outsanding stalls at 1 occasionally.<br>
>>>><br>
>>>> Is it stuck or after timeout/retry does this get updated
properly ?<br>
>>>><br>
>>>>> Within file osm_vl15intf.c in function vl15_poller
it checks at the<br>
>>>>> rfifo and if the qlist still has items it applies
function<br>
> vl15_send_mad<br>
>>>>> which later on triggers the signal.<br>
>>>>> With the current default setting of 4 for OSM_DEFAULT_SMP_MAX_ON_WIRE
I<br>
>>>>> noticed that cl_qlist_end reaches zero before<br>
>>>>> stats->qp0_mads_outstanding does. This causes a
stall in<br>
>>>>> cl_event_wait_on. The rfifo always reaches 0 when
there are 4<br>
>>>>> qp0_mads_outstanding however when it fails it always
fails when<br>
> there is<br>
>>>>> 1 qp0_mad_outstanding.<br>
>>>><br>
>>>> Is some (request) SMP that OpenSM sent timing out (not
being responded<br>
>>> to) ?<br>
>>>><br>
>>>>> Have you seen this failure? By the way, I see this
failure once<br>
> every 15<br>
>>>>> reboots approximately.<br>
>>>>><br>
>>>>> I discovered that changing OSM_DEFAULT_SMP_MAX_ON_WIRE
to 1 fixes the<br>
>>>>> problem.<br>
>>>><br>
>>>> What do you mean exactly by fixes the problem ? I'm not
sure I<br>
>>>> understand what the problem is yet.<br>
>>>><br>
>>>> -- Hal<br>
>>>><br>
>>>>> My guess is that there is a race condition when the
switch sends 4 SMPs<br>
>>>>> in parallel. Also, this failure only appears to occur
at reboot.<br>
> Another<br>
>>>>> solution which is not acceptable is when I add a delay
in the process<br>
>>>>> the failure goes away. This as if the switch needed
more time to do<br>
>>>>> something.<br>
>>>>><br>
>>>>> I would really appreciate your help and insight.<br>
>>>>> Thank you<br>
>>>>><br>
>>>>> Hector Abrach<br>
>>>>> ______________________________________________________________________<br>
>>>>> This email has been scanned by the Symantec Email
Security.cloud<br>
>> service.<br>
>>>>> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>>>> ______________________________________________________________________<br>
>>>>><br>
>>>>><br>
>>>>> _______________________________________________<br>
>>>>> ewg mailing list<br>
>>>>> ewg@lists.openfabrics.org<br>
>>>>> </font></tt><a href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg"><tt><font size=2>http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg</font></tt></a><tt><font size=2><br>
>>>><br>
>>>><br>
>>>> ______________________________________________________________________<br>
>>>> This email has been scanned by the Symantec Email Security.cloud<br>
> service.<br>
>>>> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>>> ______________________________________________________________________<br>
>>>><br>
>>>><br>
>>>> ______________________________________________________________________<br>
>>>> This email has been scanned by the Symantec Email Security.cloud<br>
> service.<br>
>>>> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>>> ______________________________________________________________________<br>
>>><br>
>>><br>
>>> ______________________________________________________________________<br>
>>> This email has been scanned by the Symantec Email Security.cloud
service.<br>
>>> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>> ______________________________________________________________________<br>
>>><br>
>>><br>
>>> ______________________________________________________________________<br>
>>> This email has been scanned by the Symantec Email Security.cloud
service.<br>
>>> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>>> ______________________________________________________________________<br>
>><br>
>><br>
>> ______________________________________________________________________<br>
>> This email has been scanned by the Symantec Email Security.cloud
service.<br>
>> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> ______________________________________________________________________<br>
>><br>
>><br>
>> ______________________________________________________________________<br>
>> This email has been scanned by the Symantec Email Security.cloud
service.<br>
>> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
>> ______________________________________________________________________<br>
> <br>
> <br>
> ______________________________________________________________________<br>
> This email has been scanned by the Symantec Email Security.cloud service.<br>
> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> <</font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com/</font></tt></a><tt><font size=2>><br>
> ______________________________________________________________________<br>
> <br>
> <br>
> ______________________________________________________________________<br>
> This email has been scanned by the Symantec Email Security.cloud service.<br>
> For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
> ______________________________________________________________________<br>
<br>
<br>
______________________________________________________________________<br>
This email has been scanned by the Symantec Email Security.cloud service.<br>
For more information please visit </font></tt><a href=http://www.symanteccloud.com/><tt><font size=2>http://www.symanteccloud.com</font></tt></a><tt><font size=2><br>
______________________________________________________________________<br>
</font></tt>
<br>
<br clear="both">
______________________________________________________________________<BR>
This email has been scanned by the Symantec Email Security.cloud service.<BR>
For more information please visit http://www.symanteccloud.com<BR>
______________________________________________________________________<BR>