[openib-general] [PATCH][SDP] iocb send path bug.

Libor Michalek libor at topspin.com
Tue Mar 29 16:13:53 PST 2005


  Simple patch for a data path bug when there is a size mismatch
between the AIO read and write buffers of two connection peers.

  Without the patch the send path will process the remains of an
active sdpc_iocb which has a RDMA write already in progress. When
the RDMA write completes the sdpc_iocb will not be available for
post processing. With the patch the send data path stalls until
either the write RDMA completes or a new sink advertisement arives.

-Libor


Index: sdp_send.c
===================================================================
--- sdp_send.c	(revision 2071)
+++ sdp_send.c	(working copy)
@@ -878,7 +878,8 @@
 	 * hope that a new sink advertisment will arrive, because 
 	 * sinks are more efficient.
 	 */
-	if (sdp_desc_q_size(&conn->w_snk) > 0)
+	if (sdp_desc_q_size(&conn->w_snk) ||
+	    iocb->flags & SDP_IOCB_F_RDMA_W)
 		goto done;
 
 	if (conn->src_zthresh > iocb->len ||




More information about the general mailing list