<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>I forgot to ask ...</p>
<p><br>
</p>
<p>When sending a message, the Tx context/endpoint can just send. No real problem.</p>
<p>When receiving, suppose I have two Rx contexts and I post a receive on both and a message arrives - if they are tagged messages, then presumably whichever Rx has the right tag will receive it - if untagged, is it just round robiin, or chance/race to see
 which cq is given the receive?</p>
<p><br>
</p>
<p>Thanks</p>
<p><br>
</p>
<p>JB<br>
</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Libfabric-users <libfabric-users-bounces@lists.openfabrics.org> on behalf of Biddiscombe, John A. <john.biddiscombe@cscs.ch><br>
<b>Sent:</b> 09 December 2021 22:18:55<br>
<b>To:</b> libfabric-users@lists.openfabrics.org<br>
<b>Subject:</b> [libfabric-users] Scalable endopint issue</font>
<div> </div>
</div>
<div>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi list,</p>
<p><br>
</p>
<p>I am creating a scalable endpoint, which I've used previously with multiple Tx contexts, and it worked fine, but I hadn't realized you could also have multiple Rx contexts - so I added them recently ... but</p>
<p><br>
</p>
<p>I get completions on the Tx CQ, but not on the Rx CQ (GNI provider).</p>
<p><br>
</p>
<p>My initialization for both is essentially the same</p>
<p>Loop N thread counter</p>
<p>  <span>fi_tx_context</span>(i ... ep_tx)</p>
<p>  create_cq</p>
<p>  <span>bind_queue_to_endpoint(ep_tx, cq)</span></p>
<p><span>  <span>enable_endpoint</span><br>
</span></p>
<p><br>
</p>
<p></p>
<p>  <span>fi_rx_context</span>(i ... ep_rx)</p>
<p>  create_cq</p>
<p>  <span>bind_queue_to_endpoint(ep_rx, cq)</span></p>
<p><span>  <span>enable_endpoint</span><br>
</span></p>
<p><span>end loop</span></p>
<p><span>scalable_endpoint_bind  (address vector)</span></p>
<p><span><br>
</span></p>
<p><span>Sends are posted to the tx context/endpoint and cq</span></p>
<p><span>Recvs to the rx context/ep + cq</span></p>
<p><span><br>
</span></p>
<p><span>Why might there be a difference between the Tx and Rx completions? Any idea what might need tweaking<br>
</span></p>
<p><br>
</p>
<p>Thanks</p>
<p><br>
</p>
<p>JB<br>
<br>
</p>
<br>
<p></p>
<p><br>
</p>
</div>
</div>
</body>
</html>