<div>Hi Dotan</div>
<div> </div>
<div>Is there a way to know if the two QPs (local and remote) are in sync or to wait for them to get in sync and then do the data transfer.</div>
<div> </div>
<div>I think in my case it is more like one QP is sending the message but the other end (receiver) is not in RTR state at that time (since sender and receiver are implemented as threads, may be receiver thread on the other machine is getting scheduled very late).
</div>
<div> </div>
<div>Is there a way where I can specifiy infinite retry_count/timeout or find out if remote QP is in RTR state (or error state) and only then do the actual data tranfer.</div>
<div> </div>
<div>Regards,</div>
<div>John<br><br> </div>
<div><span class="gmail_quote">On 8/30/06, <b class="gmail_sendername">Dotan Barak</b> <<a href="mailto:dotanb@dev.mellanox.co.il">dotanb@dev.mellanox.co.il</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi.<br><br>john t wrote:<br>> Hi,<br>><br>> In one of my multi-threaded application (simple send/recv application
<br>> written using uverbs), I am repeatedly getting an error code 12<br>> (IB_WC_RETRY_EXC_ERR) from "ibv_poll_cq". Not able to figure out<br>> what is going wrong. Cam some one please give a suggestion so that I
<br>> can investigate on those lines.<br>><br>> Also, is there an error handling mechanism in IB, for ex: in the above<br>> case what should I do in order to correct the problem.<br>This completion status means that the remote side of the QP is not
<br>sending any response (ack/nack/ anything ...)<br>You can have this completion if one of the following scenarios occurs:<br>* a QP tries to send a message to a remote QP which is not ready (not in<br>at least RTR state)
<br>* a QP tries to send a message to a remote QP which is being closed (or<br>in error state)<br>* the QP parameters are not the same as the remote QP parameters (for<br>example: if the PSNs are not configured with good values,
<br>the messages may be silently dropped)<br><br><br>I suggest to:<br>    sync between the 2 sides before starting to work with the QPs<br>   sync between the 2 sides before stop to work with the QPs<br>   You can increase the number of retry_cnt / timeout attributes in the
<br>QP context<br><br>you should make sure that the timeout value is not 0 (Zero).<br><br><br>Dotan<br></blockquote></div><br>