[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