<br><tt><font size=2>> I wouldn't think so, although I don't have full
details of how your<br>
> hardware behaves to know for sure.  I assume your PCI bus/memory<br>
> controller is already smart enough to deal with HCR writes being<br>
> interleaved with writes to a doorbell page from userspace, so it seems<br>
> that writes to locally attached memory should be OK too, as long as<br>
> the HCR writes are word-sized in the right order etc.</font></tt>
<br>
<br><tt><font size=2>For the problem I've seen, most probably the HCR writes
mess up with doorbell register rings. Is it possible? The FW version I'm
using is 1.1.0 without debug trace function. This problem is really hard
to debug since it's real time and does not occur very oftem, and it's hard
to hook up a PCIe bus analysis either since by the time the error happens,
the PCIe transaction has been already done. All I get from the HCA is reporting
bad parameter error. Is there any way to get more info from the HCA?</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 12:13 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">Jack Morgenstein <jackm@dev.mellanox.co.il></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td><font size=1 face="sans-serif">general@lists.openfabrics.org, Yicheng
Jia <YJia@tmriusa.com></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> > Roland, do you think that the memcpy_toio()
call might mess things up?<br>
<br>
I wouldn't think so, although I don't have full details of how your<br>
hardware behaves to know for sure.  I assume your PCI bus/memory<br>
controller is already smart enough to deal with HCR writes being<br>
interleaved with writes to a doorbell page from userspace, so it seems<br>
that writes to locally attached memory should be OK too, as long as<br>
the HCR writes are word-sized in the right order etc.<br>
<br>
 > Maybe we need "wmb()" or "mmiowb()" here as well?<br>
<br>
I don't see any reason, although I often miss things.  It seems that<br>
the only thing that cares about the writes of the address info being<br>
done would be posting a send WQE that uses it, and that should already<br>
have sufficient ordering.  What would we be ordering things against?<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>