[rds-commits] zab commits r123 - trunk/linux/net/rds

svn-commits@oss.oracle.com svn-commits at oss.oracle.com
Mon Jul 3 19:17:27 CDT 2006


Author: zab
Date: 2006-07-03 19:17:26 -0500 (Mon, 03 Jul 2006)
New Revision: 123

Modified:
   trunk/linux/net/rds/ib_send.c
   trunk/linux/net/rds/recv.c
Log:
Set the IB_SEND_SIGNALED flag so we get send completion events.

And update some debugging output.


Modified: trunk/linux/net/rds/ib_send.c
===================================================================
--- trunk/linux/net/rds/ib_send.c	2006-07-03 23:18:08 UTC (rev 122)
+++ trunk/linux/net/rds/ib_send.c	2006-07-04 00:17:26 UTC (rev 123)
@@ -85,7 +85,7 @@
 	ih->ih_wr.sg_list = &ih->ih_sge;
 	ih->ih_wr.num_sge = 1;
 	ih->ih_wr.opcode = IB_WR_SEND;
-	ih->ih_wr.send_flags = 0;  /* XXX what could these be? */
+	ih->ih_wr.send_flags = IB_SEND_SIGNALED;
 	ih->ih_wr.imm_data = 0;
 
 	/*
@@ -96,6 +96,7 @@
 	 * is too high.
 	 */ 
 	ret = ib_post_send(ic->i_cm_id->qp, &ih->ih_wr, &failed_wr);
+	rdsdebug("ic %p ih %p ret %d wr %p\n", ic, ih, ret, failed_wr);
 	if (ret == 0)
 		ret = sizeof(struct rds_header);
 	/* XXX disconnect and reconnect on error? */
@@ -194,7 +195,7 @@
 		wr->sg_list = sge;
 		wr->num_sge = 1;
 		wr->opcode = IB_WR_SEND;
-		wr->send_flags = 0;
+		wr->send_flags = IB_SEND_SIGNALED;
 		wr->imm_data = 0;
 	}
 out:

Modified: trunk/linux/net/rds/recv.c
===================================================================
--- trunk/linux/net/rds/recv.c	2006-07-03 23:18:08 UTC (rev 122)
+++ trunk/linux/net/rds/recv.c	2006-07-04 00:17:26 UTC (rev 123)
@@ -83,6 +83,15 @@
 
 	inc->i_conn = conn;
 
+	rdsdebug("conn %p next %llu inc %p seq %llu len %u sport %u dport %u "
+		 "flags 0x%x\n", conn, (unsigned long long)conn->c_next_rx_seq,
+		 inc, 
+		 (unsigned long long)be64_to_cpu(inc->i_hdr.h_sequence), 
+		 be32_to_cpu(inc->i_hdr.h_len), 
+		 be16_to_cpu(inc->i_hdr.h_sport), 
+		 be16_to_cpu(inc->i_hdr.h_dport), 
+		 inc->i_hdr.h_flags);
+
 	if (inc->i_hdr.h_flags & RDS_HEAD_FLAG_ACK) {
 		rds_ack_recv(conn, inc);
 		goto out;
@@ -108,8 +117,6 @@
 	 * XXX we could spend more on the wire to get more robust failure
 	 * detection, arguably worth it to avoid data corruption.
 	 */
-	rdsdebug("inc %p seq %llu next %llu\n", inc,
-		 be64_to_cpu(inc->i_hdr.h_sequence), conn->c_next_rx_seq);
 	if (be64_to_cpu(inc->i_hdr.h_sequence) < conn->c_next_rx_seq) {
 		ack = 1;
 		rds_stats_inc(s_recv_drop_old_seq);




More information about the rds-commits mailing list