[openib-general] Re: RMPP

Fab Tillier ftillier at silverstorm.com
Tue Jun 28 13:57:20 PDT 2005


> From: Hal Rosenstock [mailto:halr at voltaire.com]
> Sent: Tuesday, June 28, 2005 11:47 AM
> I think I see what is going on here...
> 
> In user_mad.c::send_handler
> 
> 
>         if (send_wc->status == IB_WC_RESP_TIMEOUT_ERR) {
>                 packet->mad.hdr.status = ETIMEDOUT;
> 
>                 if (!queue_packet(file, agent, packet))
>                         return;
>         }
> 
> That is what is causing the problem. I think the send side queues the
> packet on a timeout and simulates a receive so that a transaction can be
> terminated. RMPP sends appear to be a little different in that even non
> transactions get timeouts.

Why is a receive generated at all?  Shouldn't the send completion be enough?  It
seems odd to just generate a receive indication with the sent data when really,
nothing was received.  From an app perspective, it seems that handling the
IB_WC_RESP_TIMEOUT_ERR case should be sufficient to indicate the transaction is
complete.

- Fab




More information about the general mailing list