[rds-devel] [PATCH future/20090207 1/3] RDS/iWARP: Add unique wr_ids for fastreg, inv-local, and ack.

Steve Wise swise at opengridcomputing.com
Tue Feb 10 12:07:33 PST 2009


Makes debugging easier.

Signed-off-by: Steve Wise <swise at opengridcomputing.com>
---

 net/rds/iw.h      |    4 +++-
 net/rds/iw_rdma.c |    4 ++--
 net/rds/iw_recv.c |    2 +-
 net/rds/iw_send.c |    6 +++---
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/net/rds/iw.h b/net/rds/iw.h
index a5fcfc4..600d57f 100644
--- a/net/rds/iw.h
+++ b/net/rds/iw.h
@@ -195,7 +195,9 @@ struct rds_iw_device {
 #define IB_ACK_REQUESTED	1
 
 /* Magic WR_ID for ACKs */
-#define RDS_IB_ACK_WR_ID	(~(u64) 0)
+#define RDS_IW_ACK_WR_ID	((u64)0xffffffffffffffff)
+#define RDS_IW_FAST_REG_WR_ID	((u64)0xefefefefefefefef)
+#define RDS_IW_LOCAL_INV_WR_ID	((u64)0xdfdfdfdfdfdfdfdf)
 
 struct rds_iw_statistics {
 	uint64_t	s_iw_connect_raced;
diff --git a/net/rds/iw_rdma.c b/net/rds/iw_rdma.c
index f830124..cab7b0b 100644
--- a/net/rds/iw_rdma.c
+++ b/net/rds/iw_rdma.c
@@ -718,7 +718,7 @@ static int rds_iw_rdma_build_fastreg(struct rds_iw_mapping *mapping)
 	mapping->m_rkey = ibmr->mr->rkey;
 
 	memset(&f_wr, 0, sizeof(f_wr));
-	f_wr.wr_id = ~0;
+	f_wr.wr_id = RDS_IW_FAST_REG_WR_ID;
 	f_wr.opcode = IB_WR_FAST_REG_MR;
 	f_wr.wr.fast_reg.length = mapping->m_sg.bytes;
 	f_wr.wr.fast_reg.rkey = mapping->m_rkey;
@@ -753,7 +753,7 @@ static int rds_iw_rdma_fastreg_inv(struct rds_iw_mr *ibmr)
 		goto out;
 
 	memset(&s_wr, 0, sizeof(s_wr));
-	s_wr.wr_id = ~0;
+	s_wr.wr_id = RDS_IW_LOCAL_INV_WR_ID;
 	s_wr.opcode = IB_WR_LOCAL_INV;
 	s_wr.ex.invalidate_rkey = ibmr->mr->rkey;
 	s_wr.send_flags = IB_SEND_SIGNALED;
diff --git a/net/rds/iw_recv.c b/net/rds/iw_recv.c
index 49bfceb..385f239 100644
--- a/net/rds/iw_recv.c
+++ b/net/rds/iw_recv.c
@@ -369,7 +369,7 @@ void rds_iw_recv_init_ack(struct rds_iw_connection *ic)
 	wr->sg_list = sge;
 	wr->num_sge = 1;
 	wr->opcode = IB_WR_SEND;
-	wr->wr_id = RDS_IB_ACK_WR_ID;
+	wr->wr_id = RDS_IW_ACK_WR_ID;
 	wr->send_flags = IB_SEND_SIGNALED | IB_SEND_SOLICITED;
 }
 
diff --git a/net/rds/iw_send.c b/net/rds/iw_send.c
index 76f2b01..104662e 100644
--- a/net/rds/iw_send.c
+++ b/net/rds/iw_send.c
@@ -225,17 +225,17 @@ void rds_iw_send_cq_comp_handler(struct ib_cq *cq, void *context)
 			break;
 		}
 
-		if (wc.opcode == IB_WC_LOCAL_INV && wc.wr_id == ~0) {
+		if (wc.opcode == IB_WC_LOCAL_INV && wc.wr_id == RDS_IW_LOCAL_INV_WR_ID) {
 			ic->i_fastreg_posted = 0;
 			continue;
 		}
 
-		if (wc.opcode == IB_WC_FAST_REG_MR && wc.wr_id == ~0) {
+		if (wc.opcode == IB_WC_FAST_REG_MR && wc.wr_id == RDS_IW_FAST_REG_WR_ID) {
 			ic->i_fastreg_posted = 1;
 			continue;
 		}
 
-		if (wc.wr_id == RDS_IB_ACK_WR_ID) {
+		if (wc.wr_id == RDS_IW_ACK_WR_ID) {
 			if (ic->i_ack_queued + HZ/2 < jiffies)
 				rds_iw_stats_inc(s_iw_tx_stalled);
 			rds_iw_ack_send_complete(ic);




More information about the rds-devel mailing list