<br><font size=2 face="sans-serif">Hi Roland,</font>
<br>
<br><font size=2 face="sans-serif">Thanks for your reply!</font>
<br>
<br><font size=2 face="sans-serif">Actually I'm working on porting IB driver
to QNX platform. I resume the work started by my former colleague, and
I just found that the sync codes (dev->cmd.poll_sem and dev->cmd.hcr_mutex)
were deleted for unknown reason. After adding back these sync codes, the
driver runs much smoothlier. </font>
<br>
<br><font size=2 face="sans-serif">However I still get a command exec error
which I believe is relevant to command synchronization. The problem is
when "Created UDAV" is called during </font><tt><font size=2>SW2HW_MPT</font></tt><font size=2 face="sans-serif">
command is being executed, the </font><tt><font size=2>SW2HW_MPT</font></tt><font size=2 face="sans-serif">
command would return with bad parameter error. Here are my debug trace
output:</font>
<br>
<br><font size=2 face="sans-serif">139903841835 HCR CMD: op_code:  
       LE: d</font>
<br><font size=2 face="sans-serif">139903861104 TRACE: mad.c:639/ib_mad_recv_done_handler</font>
<br><font size=2 face="sans-serif">139903890876 HCR CMD: in_param_h:  
    LE: 0</font>
<br><font size=2 face="sans-serif">139903942869 TRACE: mad.c:644/ib_mad_recv_done_handler</font>
<br><font size=2 face="sans-serif">139903993296 HCR CMD: in_param_l:  
    LE: cf616000</font>
<br><font size=2 face="sans-serif">139904038413 TRACE: verbs.c:182/ib_create_ah_from_wc</font>
<br><font size=2 face="sans-serif">139904094753 HCR CMD: input_modifier:
  LE: 1e</font>
<br><font size=2 face="sans-serif">139904139150 TRACE: mthca_provider.c:447/mthca_ah_create</font>
<br><font size=2 face="sans-serif">MTHCA DBG: <mthca_av.c:229> Created
UDAV at 8075220/00000000:</font>
<br><font size=2 face="sans-serif">139904197065 HCR CMD: out_pram_h:  
    LE: 0</font>
<br><font size=2 face="sans-serif">139904333343   [ 0] 01000005</font>
<br><font size=2 face="sans-serif">139904384499 HCR CMD: out_pram_l:  
    LE: 0</font>
<br><font size=2 face="sans-serif">139904428086   [ 4] 0000ffff</font>
<br><font size=2 face="sans-serif">139904478675 HCR CMD: token:  
         LE: ffff0000</font>
<br><font size=2 face="sans-serif">139904520156   [ 8] 00003000</font>
<br><font size=2 face="sans-serif">139904572059 HCR CMD: op_code_modifier:
LE: 0</font>
<br><font size=2 face="sans-serif">139904612802   [ c] 00000000</font>
<br><font size=2 face="sans-serif">139904667693 HCR CMD: event:  
         LE: 0</font>
<br><font size=2 face="sans-serif">139904708526   [10] 00000000</font>
<br><font size=2 face="sans-serif">139904758422 HCR CMD 0x18h:    
        LE=80000d, BE=d008000</font>
<br><font size=2 face="sans-serif">139904799210   [14] 00000000</font>
<br><font size=2 face="sans-serif">139904904204   [18] 00000000</font>
<br><font size=2 face="sans-serif">139904946792MTHCA DBG: <mthca_cmd.c:195>
HCR_STATUS 40100698= d008000 ? 8000</font>
<br><font size=2 face="sans-serif">   [1c] 00000002</font>
<br><font size=2 face="sans-serif">139905076860 TRACE: mthca_av.c:235/mthca_create_ah</font>
<br><font size=2 face="sans-serif">139905112329 TRACE: mthca_av.c:243/mthca_create_ah</font>
<br><font size=2 face="sans-serif">139905147672 TRACE: mthca_provider.c:460/mthca_ah_create</font>
<br><font size=2 face="sans-serif">....</font>
<br><font size=2 face="sans-serif">139906793007 HCR CMD: Status Return:
             : 3</font>
<br>
<br><font size=2 face="sans-serif">Do you have any idea?</font>
<br>
<br><font size=2 face="sans-serif">Thanks and have a good new year!</font>
<br><font size=2 face="sans-serif">Yicheng</font>
<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">12/28/2007 11:39 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">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> > I'm using OFED-1.0 and the problem I believe
is related to command <br>
 > synchronization of HCA. The host issues a MAD_INF command at first
and <br>
 > then a SW2HW_MTP command without waiting for the completion of the
first <br>
 > command. Both of commands return with bad parameters error.<br>
<br>
I guess you mean the MAD_IFC and SW2HW_MPT commands?  I've never heard<br>
of a problem like that -- more details about your hardware/software<br>
config and the exact symptoms you see would be helpful in debugging.<br>
<br>
Anyway OFED 1.0 is ancient by now -- you are much better off just<br>
using drivers from the standard kernel.  If you must use OFED, then<br>
OFED 1.2 or even a 1.3 prerelease would be better.<br>
<br>
 > My question is why there's no synchronization mechanism for the command
<br>
 > execution on HCA, can I use "spin_lock" or "sem_wait"
to synchronize <br>
 > between every command?<br>
<br>
The HCA firmware allows multiple commands to be queued.  The<br>
dev->cmd.event_sem semaphore is used to limit the number of<br>
outstanding commands to the HCA's capabilities, and the<br>
dev->cmd.hcr_mutex mutex is used to serialize the actual writing of<br>
commands to the HCA.<br>
<br>
There was a mmiowb() added to mthca_cmd_post() fairly recently that<br>
might fix your problems if you are running on a large SGI Altix system.<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>