<br><tt><font size=2>> What is the call chain that calls SW2HW_MPT in
this case?</font></tt>
<br><tt><font size=2>The SW2HW_MPT is called by mthca_mr_alloc function.
In this function, It first call "mthca_alloc" to get a mr key,
then "mthca_table_get" to get a mr ICM entry, then "mthca_alloc_mailbox"
to alloc a block of mailbox for the command. During the procedure, the
mad completion handler of "ib_mad_recv_done_handler" is also
running, which processes the MAD_IFC command and sends response, they are
all completed without error report. Also for your information, I'm using
two Due Core Xeon CPU to run the driver.</font></tt>
<br>
<br><tt><font size=2>> Also are you going through the mthca_cmd_post_dbell()
or mthca_cmd_post_hcr()code to write the command params to the HCA?</font></tt>
<br><tt><font size=2>Yes. I found there's a little difference between these
two functions. There are two "wmb()" functions call in mthca_cmd_post_dbell()but
only one "wmb()" in mthca_cmd_post_hcr(). Any perticular reason
for it? </font></tt>
<br>
<br><tt><font size=2>> I think the best way to debug this would be to
work directly with Mellanox to get a debug build of the HCA firmware and
get definite info on why the SW2HW_MPT command is failing.</font></tt>
<br><tt><font size=2>Do you know who I am supposed to contact with?</font></tt>
<br>
<br><tt><font size=2>Thanks!</font></tt>
<br><tt><font size=2>Yicheng</font></tt>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Roland Dreier <rdreier@cisco.com></b>
</font>
<p><font size=1 face="sans-serif">01/02/2008 02:55 PM</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">Yicheng Jia <YJia@tmriusa.com></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td><font size=1 face="sans-serif">Jack Morgenstein <jackm@dev.mellanox.co.il>,
general@lists.openfabrics.org</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: [ofa-general] synchronize commands
issued to MTHCA</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2> > The SW2HW_MPT command is issued while UDAV
table is been creating. During <br>
> the time that the driver is waiting for the completion of the command,
it <br>
> does many other things: creating send mad package, posting send mad
<br>
> request to the SQ and posting another receive mad request to the
RQ. <br>
> There's no error report for all of these actions. However after it,
the <br>
> HCA report command parameter error for the SW2HW_MPT.<br>
<br>
I doubt the problem is creating the UD address vector -- that is just<br>
shuffling some things around in the CPU's memory. It seems more<br>
likely that posting a send or receive request is messing things up<br>
somehow. What is the call chain that calls SW2HW_MPT in this case?<br>
Also are you going through the mthca_cmd_post_dbell() or mthca_cmd_post_hcr()<br>
code to write the command params to the HCA?<br>
<br>
I think the best way to debug this would be to work directly with<br>
Mellanox to get a debug build of the HCA firmware and get definite<br>
info on why the SW2HW_MPT command is failing.<br>
<br>
- R.<br>
<br>
_____________________________________________________________________________<br>
Scanned by IBM Email Security Management Services powered by MessageLabs.
For more information please visit http://www.ers.ibm.com<br>
_____________________________________________________________________________<br>
</font></tt>
<br>