* [patch 1/8] Ammasso - ib_post_send fix
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
@ 2009-11-24 17:36 ` frank zago
[not found] ` <4B0C19A1.1050008-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 17:36 ` [patch 2/8] ehca - ib_post_send fixes Always set ib_post_send()s bad_wr. Do not report success if an error occurred frank zago
` (6 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Always set ib_post_send()'s bad_wr.
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/amso1100/c2_qp.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/amso1100/c2_qp.c 2009-11-23
20:22:19.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/amso1100/c2_qp.c 2009-11-23
20:25:55.000000000 -0600
@@ -798,8 +798,10 @@
u8 actual_sge_count;
u32 msg_size;
- if (qp->state > IB_QPS_RTS)
- return -EINVAL;
+ if (qp->state > IB_QPS_RTS) {
+ err = -EINVAL;
+ goto out;
+ }
while (ib_wr) {
@@ -930,6 +932,7 @@
ib_wr = ib_wr->next;
}
+out:
if (err)
*bad_wr = ib_wr;
return err;
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch 2/8] ehca - ib_post_send fixes Always set ib_post_send()s bad_wr. Do not report success if an error occurred.
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 17:36 ` [patch 1/8] Ammasso - ib_post_send fix frank zago
@ 2009-11-24 17:36 ` frank zago
2009-11-24 17:36 ` [patch 3/8] cxgb3 - ib_post_send fixes frank zago
` (5 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
20:27:17.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
20:32:08.000000000 -0600
@@ -400,7 +400,6 @@
static inline int post_one_send(struct ehca_qp *my_qp,
struct ib_send_wr *cur_send_wr,
- struct ib_send_wr **bad_send_wr,
int hidden)
{
struct ehca_wqe *wqe_p;
@@ -412,8 +411,6 @@
wqe_p = ipz_qeit_get_inc(&my_qp->ipz_squeue);
if (unlikely(!wqe_p)) {
/* too many posted work requests: queue overflow */
- if (bad_send_wr)
- *bad_send_wr = cur_send_wr;
ehca_err(my_qp->ib_qp.device, "Too many posted WQEs "
"qp_num=%x", my_qp->ib_qp.qp_num);
return -ENOMEM;
@@ -433,8 +430,6 @@
*/
if (unlikely(ret)) {
my_qp->ipz_squeue.current_q_offset = start_offset;
- if (bad_send_wr)
- *bad_send_wr = cur_send_wr;
ehca_err(my_qp->ib_qp.device, "Could not write WQE "
"qp_num=%x", my_qp->ib_qp.qp_num);
return -EINVAL;
@@ -457,7 +452,8 @@
if (unlikely(my_qp->state < IB_QPS_RTS)) {
ehca_err(qp->device, "Invalid QP state qp_state=%d qpn=%x",
my_qp->state, qp->qp_num);
- return -EINVAL;
+ ret = -EINVAL;
+ goto out;
}
/* LOCK the QUEUE */
@@ -476,7 +472,7 @@
struct ib_send_wr circ_wr;
memset(&circ_wr, 0, sizeof(circ_wr));
circ_wr.opcode = IB_WR_RDMA_READ;
- post_one_send(my_qp, &circ_wr, NULL, 1); /* ignore retcode */
+ post_one_send(my_qp, &circ_wr, 1); /* ignore retcode */
wqe_cnt++;
ehca_dbg(qp->device, "posted circ wr qp_num=%x", qp->qp_num);
my_qp->message_count = my_qp->packet_count = 0;
@@ -485,11 +481,8 @@
/* loop processes list of send reqs */
for (cur_send_wr = send_wr; cur_send_wr != NULL;
cur_send_wr = cur_send_wr->next) {
- ret = post_one_send(my_qp, cur_send_wr, bad_send_wr, 0);
+ ret = post_one_send(my_qp, cur_send_wr, 0);
if (unlikely(ret)) {
- /* if one or more WQEs were successful, don't fail */
- if (wqe_cnt)
- ret = 0;
goto post_send_exit0;
}
wqe_cnt++;
@@ -503,6 +496,10 @@
my_qp, qp->qp_num, wqe_cnt, ret);
my_qp->message_count += wqe_cnt;
spin_unlock_irqrestore(&my_qp->spinlock_s, flags);
+
+out:
+ if (ret)
+ *bad_send_wr = ib_wr;
return ret;
}
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch 3/8] cxgb3 - ib_post_send fixes
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 17:36 ` [patch 1/8] Ammasso - ib_post_send fix frank zago
2009-11-24 17:36 ` [patch 2/8] ehca - ib_post_send fixes Always set ib_post_send()s bad_wr. Do not report success if an error occurred frank zago
@ 2009-11-24 17:36 ` frank zago
2009-11-24 17:36 ` [patch 4/8] cxgb3 - ib_post_recv fixes frank zago
` (4 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Always set ib_post_send()'s bad_wr.
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/cxgb3/iwch_qp.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/cxgb3/iwch_qp.c 2009-11-23
20:35:15.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/cxgb3/iwch_qp.c 2009-11-23
20:39:44.000000000 -0600
@@ -365,18 +365,19 @@
spin_lock_irqsave(&qhp->lock, flag);
if (qhp->attr.state > IWCH_QP_STATE_RTS) {
spin_unlock_irqrestore(&qhp->lock, flag);
- return -EINVAL;
+ err = -EINVAL;
+ goto out;
}
num_wrs = Q_FREECNT(qhp->wq.sq_rptr, qhp->wq.sq_wptr,
qhp->wq.sq_size_log2);
if (num_wrs <= 0) {
spin_unlock_irqrestore(&qhp->lock, flag);
- return -ENOMEM;
+ err = -ENOMEM;
+ goto out;
}
while (wr) {
if (num_wrs == 0) {
err = -ENOMEM;
- *bad_wr = wr;
break;
}
idx = Q_PTR2IDX(qhp->wq.wptr, qhp->wq.size_log2);
@@ -428,10 +429,8 @@
wr->opcode);
err = -EINVAL;
}
- if (err) {
- *bad_wr = wr;
+ if (err)
break;
- }
wqe->send.wrid.id0.hi = qhp->wq.sq_wptr;
sqp->wr_id = wr->wr_id;
sqp->opcode = wr2opcode(t3_wr_opcode);
@@ -454,6 +453,10 @@
}
spin_unlock_irqrestore(&qhp->lock, flag);
ring_doorbell(qhp->wq.doorbell, qhp->wq.qpid);
+
+out:
+ if (err)
+ *bad_wr = wr;
return err;
}
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch 4/8] cxgb3 - ib_post_recv fixes
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
` (2 preceding siblings ...)
2009-11-24 17:36 ` [patch 3/8] cxgb3 - ib_post_send fixes frank zago
@ 2009-11-24 17:36 ` frank zago
2009-11-24 17:36 ` [patch 5/8] ehca - ib_post_recv fixes Always set ib_post_recv()s bad_wr frank zago
` (3 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Always set ib_post_recv()'s bad_wr. And like the other IB drivers,
return ENOMEM when the queue is full.
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/cxgb3/iwch_qp.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/cxgb3/iwch_qp.c 2009-11-23
21:18:04.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/cxgb3/iwch_qp.c 2009-11-23
21:21:40.000000000 -0600
@@ -474,18 +474,19 @@
spin_lock_irqsave(&qhp->lock, flag);
if (qhp->attr.state > IWCH_QP_STATE_RTS) {
spin_unlock_irqrestore(&qhp->lock, flag);
- return -EINVAL;
+ err = -EINVAL;
+ goto out;
}
num_wrs = Q_FREECNT(qhp->wq.rq_rptr, qhp->wq.rq_wptr,
qhp->wq.rq_size_log2) - 1;
if (!wr) {
spin_unlock_irqrestore(&qhp->lock, flag);
- return -EINVAL;
+ err = -ENOMEM;
+ goto out;
}
while (wr) {
if (wr->num_sge > T3_MAX_SGE) {
err = -EINVAL;
- *bad_wr = wr;
break;
}
idx = Q_PTR2IDX(qhp->wq.wptr, qhp->wq.size_log2);
@@ -497,10 +498,10 @@
err = build_zero_stag_recv(qhp, wqe, wr);
else
err = -ENOMEM;
- if (err) {
- *bad_wr = wr;
+
+ if (err)
break;
- }
+
build_fw_riwrh((void *) wqe, T3_WR_RCV, T3_COMPLETION_FLAG,
Q_GENBIT(qhp->wq.wptr, qhp->wq.size_log2),
0, sizeof(struct t3_receive_wr) >> 3, T3_SOPEOP);
@@ -514,6 +515,10 @@
}
spin_unlock_irqrestore(&qhp->lock, flag);
ring_doorbell(qhp->wq.doorbell, qhp->wq.qpid);
+
+out:
+ if (err)
+ *bad_wr = wr;
return err;
}
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch 5/8] ehca - ib_post_recv fixes Always set ib_post_recv()s bad_wr.
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
` (3 preceding siblings ...)
2009-11-24 17:36 ` [patch 4/8] cxgb3 - ib_post_recv fixes frank zago
@ 2009-11-24 17:36 ` frank zago
[not found] ` <4B0C19AE.6030006-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 17:36 ` [patch 7/8] NES - ib_post_send fixes frank zago
` (2 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
21:23:08.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
21:25:48.000000000 -0600
@@ -519,7 +519,7 @@
if (unlikely(!HAS_RQ(my_qp))) {
ehca_err(dev, "QP has no RQ ehca_qp=%p qp_num=%x ext_type=%d",
my_qp, my_qp->real_qp_num, my_qp->ext_type);
- return -ENODEV;
+ ret = -ENODEV;
}
/* LOCK the QUEUE */
@@ -533,13 +533,9 @@
wqe_p = ipz_qeit_get_inc(&my_qp->ipz_rqueue);
if (unlikely(!wqe_p)) {
/* too many posted work requests: queue overflow */
- if (bad_recv_wr)
- *bad_recv_wr = cur_recv_wr;
- if (wqe_cnt == 0) {
- ret = -ENOMEM;
- ehca_err(dev, "Too many posted WQEs "
- "qp_num=%x", my_qp->real_qp_num);
- }
+ ret = -ENOMEM;
+ ehca_err(dev, "Too many posted WQEs "
+ "qp_num=%x", my_qp->real_qp_num);
goto post_recv_exit0;
}
/*
@@ -558,11 +554,9 @@
if (unlikely(ret)) {
my_qp->ipz_rqueue.current_q_offset = start_offset;
*bad_recv_wr = cur_recv_wr;
- if (wqe_cnt == 0) {
- ret = -EINVAL;
- ehca_err(dev, "Could not write WQE "
- "qp_num=%x", my_qp->real_qp_num);
- }
+ ret = -EINVAL;
+ ehca_err(dev, "Could not write WQE "
+ "qp_num=%x", my_qp->real_qp_num);
goto post_recv_exit0;
}
@@ -581,6 +575,11 @@
ehca_dbg(dev, "ehca_qp=%p qp_num=%x wqe_cnt=%d ret=%i",
my_qp, my_qp->real_qp_num, wqe_cnt, ret);
spin_unlock_irqrestore(&my_qp->spinlock_r, flags);
+
+out:
+ if (ret)
+ *bad_recv_wr = cur_recv_wr;
+
return ret;
}
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch 7/8] NES - ib_post_send fixes
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
` (4 preceding siblings ...)
2009-11-24 17:36 ` [patch 5/8] ehca - ib_post_recv fixes Always set ib_post_recv()s bad_wr frank zago
@ 2009-11-24 17:36 ` frank zago
[not found] ` <4B0C19B1.8030304-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 17:36 ` [patch 6/8] ammasso - ib_post_recv fix frank zago
2009-11-24 17:36 ` [patch 8/8] NES - ib_post_recv fixes frank zago
7 siblings, 1 reply; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Always set ib_post_send()'s bad_wr. Stop processing the wor request
queue when an error is detected.
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/nes/nes_verbs.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/nes/nes_verbs.c 2009-11-23
21:10:53.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/nes/nes_verbs.c 2009-11-23
21:12:37.000000000 -0600
@@ -3386,8 +3386,10 @@
wqe_count = 0;
total_payload_length = 0;
- if (nesqp->ibqp_state > IB_QPS_RTS)
- return -EINVAL;
+ if (nesqp->ibqp_state > IB_QPS_RTS) {
+ err = -EINVAL;
+ goto out;
+ }
spin_lock_irqsave(&nesqp->lock, flags);
@@ -3498,6 +3500,9 @@
break;
}
+ if (err)
+ break;
+
if (ib_wr->send_flags & IB_SEND_SIGNALED) {
wqe_misc |= NES_IWARP_SQ_WQE_SIGNALED_COMPL;
}
@@ -3522,6 +3527,7 @@
spin_unlock_irqrestore(&nesqp->lock, flags);
+out:
if (err)
*bad_wr = ib_wr;
return err;
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch 6/8] ammasso - ib_post_recv fix
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
` (5 preceding siblings ...)
2009-11-24 17:36 ` [patch 7/8] NES - ib_post_send fixes frank zago
@ 2009-11-24 17:36 ` frank zago
2009-11-24 17:36 ` [patch 8/8] NES - ib_post_recv fixes frank zago
7 siblings, 0 replies; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Always set ib_post_recv()'s bad_wr.
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/amso1100/c2_qp.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/amso1100/c2_qp.c 2009-11-23
21:26:48.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/amso1100/c2_qp.c 2009-11-23
21:28:11.000000000 -0600
@@ -947,8 +947,10 @@
unsigned long lock_flags;
int err = 0;
- if (qp->state > IB_QPS_RTS)
- return -EINVAL;
+ if (qp->state > IB_QPS_RTS) {
+ err = -EINVAL;
+ goto out;
+ }
/*
* Try and post each work request
@@ -1001,6 +1003,7 @@
ib_wr = ib_wr->next;
}
+out:
if (err)
*bad_wr = ib_wr;
return err;
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch 8/8] NES - ib_post_recv fixes
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
` (6 preceding siblings ...)
2009-11-24 17:36 ` [patch 6/8] ammasso - ib_post_recv fix frank zago
@ 2009-11-24 17:36 ` frank zago
[not found] ` <4B0C19B8.8010807-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
7 siblings, 1 reply; 13+ messages in thread
From: frank zago @ 2009-11-24 17:36 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Always set ib_post_recv()'s bad_wr.
Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
Index: linux-2.6.31/drivers/infiniband/hw/nes/nes_verbs.c
===================================================================
--- linux-2.6.31.orig/drivers/infiniband/hw/nes/nes_verbs.c 2009-11-23
21:59:04.000000000 -0600
+++ linux-2.6.31/drivers/infiniband/hw/nes/nes_verbs.c 2009-11-23
21:59:05.000000000 -0600
@@ -3554,8 +3554,10 @@
u32 counter;
u32 total_payload_length;
- if (nesqp->ibqp_state > IB_QPS_RTS)
- return -EINVAL;
+ if (nesqp->ibqp_state > IB_QPS_RTS) {
+ err = -EINVAL;
+ goto out;
+ }
spin_lock_irqsave(&nesqp->lock, flags);
@@ -3618,6 +3620,7 @@
spin_unlock_irqrestore(&nesqp->lock, flags);
+out:
if (err)
*bad_wr = ib_wr;
return err;
--
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [patch 7/8] NES - ib_post_send fixes
[not found] ` <4B0C19B1.8030304-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
@ 2009-11-24 20:00 ` Tung, Chien Tin
0 siblings, 0 replies; 13+ messages in thread
From: Tung, Chien Tin @ 2009-11-24 20:00 UTC (permalink / raw)
To: frank zago, Roland Dreier
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>Always set ib_post_send()'s bad_wr. Stop processing the wor request
>queue when an error is detected.
Thanks for the patch.
RDMA/nes: In nes_post_send() always set bad_wr on error
Acked-by: Chien Tung <chien.tin.tung-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [patch 8/8] NES - ib_post_recv fixes
[not found] ` <4B0C19B8.8010807-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
@ 2009-11-24 20:00 ` Tung, Chien Tin
0 siblings, 0 replies; 13+ messages in thread
From: Tung, Chien Tin @ 2009-11-24 20:00 UTC (permalink / raw)
To: frank zago, Roland Dreier
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>Always set ib_post_recv()'s bad_wr.
Thanks for the patch.
RDMA/nes: in nes_post_recv() always set bad_wr on error
Acked-by: Chien Tung <chien.tin.tung-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [patch 5/8] ehca - ib_post_recv fixes Always set ib_post_recv()s bad_wr.
[not found] ` <4B0C19AE.6030006-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
@ 2009-11-24 23:06 ` Alexander Schmidt
2009-11-24 23:28 ` frank zago
0 siblings, 1 reply; 13+ messages in thread
From: Alexander Schmidt @ 2009-11-24 23:06 UTC (permalink / raw)
To: frank zago
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Stefan Roscher,
Hoang-Nam Nguyen, Joachim Fenkes, Christoph Raisch
On Tue, 24 Nov 2009 11:36:46 -0600
frank zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org> wrote:
Hi Frank,
> Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
> Index: linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c
> ===================================================================
> --- linux-2.6.31.orig/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
> 21:23:08.000000000 -0600
> +++ linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
> 21:25:48.000000000 -0600
> @@ -519,7 +519,7 @@
> if (unlikely(!HAS_RQ(my_qp))) {
> ehca_err(dev, "QP has no RQ ehca_qp=%p qp_num=%x ext_type=%d",
> my_qp, my_qp->real_qp_num, my_qp->ext_type);
> - return -ENODEV;
> + ret = -ENODEV;
aren't you missing a goto statement here?
> }
>
> /* LOCK the QUEUE */
> @@ -533,13 +533,9 @@
> wqe_p = ipz_qeit_get_inc(&my_qp->ipz_rqueue);
> if (unlikely(!wqe_p)) {
> /* too many posted work requests: queue overflow */
> - if (bad_recv_wr)
> - *bad_recv_wr = cur_recv_wr;
> - if (wqe_cnt == 0) {
> - ret = -ENOMEM;
> - ehca_err(dev, "Too many posted WQEs "
> - "qp_num=%x", my_qp->real_qp_num);
> - }
> + ret = -ENOMEM;
> + ehca_err(dev, "Too many posted WQEs "
> + "qp_num=%x", my_qp->real_qp_num);
> goto post_recv_exit0;
> }
> /*
> @@ -558,11 +554,9 @@
> if (unlikely(ret)) {
> my_qp->ipz_rqueue.current_q_offset = start_offset;
> *bad_recv_wr = cur_recv_wr;
> - if (wqe_cnt == 0) {
> - ret = -EINVAL;
> - ehca_err(dev, "Could not write WQE "
> - "qp_num=%x", my_qp->real_qp_num);
> - }
> + ret = -EINVAL;
> + ehca_err(dev, "Could not write WQE "
> + "qp_num=%x", my_qp->real_qp_num);
> goto post_recv_exit0;
> }
>
> @@ -581,6 +575,11 @@
> ehca_dbg(dev, "ehca_qp=%p qp_num=%x wqe_cnt=%d ret=%i",
> my_qp, my_qp->real_qp_num, wqe_cnt, ret);
> spin_unlock_irqrestore(&my_qp->spinlock_r, flags);
> +
> +out:
> + if (ret)
> + *bad_recv_wr = cur_recv_wr;
> +
> return ret;
> }
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [patch 5/8] ehca - ib_post_recv fixes Always set ib_post_recv()s bad_wr.
2009-11-24 23:06 ` Alexander Schmidt
@ 2009-11-24 23:28 ` frank zago
0 siblings, 0 replies; 13+ messages in thread
From: frank zago @ 2009-11-24 23:28 UTC (permalink / raw)
To: Alexander Schmidt
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Stefan Roscher,
Hoang-Nam Nguyen, Joachim Fenkes, Christoph Raisch
Alexander Schmidt wrote:
> On Tue, 24 Nov 2009 11:36:46 -0600
> frank zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org> wrote:
>
> Hi Frank,
>
>
>> Signed-off-by: Frank Zago <fzago-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
>> Index: linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c
>> ===================================================================
>> --- linux-2.6.31.orig/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
>> 21:23:08.000000000 -0600
>> +++ linux-2.6.31/drivers/infiniband/hw/ehca/ehca_reqs.c 2009-11-23
>> 21:25:48.000000000 -0600
>> @@ -519,7 +519,7 @@
>> if (unlikely(!HAS_RQ(my_qp))) {
>> ehca_err(dev, "QP has no RQ ehca_qp=%p qp_num=%x ext_type=%d",
>> my_qp, my_qp->real_qp_num, my_qp->ext_type);
>> - return -ENODEV;
>> + ret = -ENODEV;
>>
>
> aren't you missing a goto statement here?
>
Indeed. I'll resend a patch.
Frank.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [patch 1/8] Ammasso - ib_post_send fix
[not found] ` <4B0C19A1.1050008-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
@ 2009-12-02 17:34 ` Roland Dreier
0 siblings, 0 replies; 13+ messages in thread
From: Roland Dreier @ 2009-12-02 17:34 UTC (permalink / raw)
To: frank zago; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
These patches seem to be mangled and won't apply... the main problem
seems to be that your MUA is setting Content-Type to format=flowed,
which destroys the whitespace. Please fix up your mail setup and resend.
(get-send-email will almost always work if nothing else will)
While you're fixing that up, please also fix the subject lines -- ef for
this patch the header shouldn't be "Ammasso -" but rather
"RDMA/amso1100:" as the other entries in the log for that driver use.
And also after your signed-off-by line, put a line with "---" on it so
git drops everything afterwards from the changelog, and include a
diffstat there to make it clear what the patch touches.
(These comments apply to the whole series, but you can drop the nes
patches since Chien picked those up)
Thanks,
Roland
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-12-02 17:34 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20091124043323.927819053@systemfabricworks.com>
[not found] ` <20091124043323.927819053-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 17:36 ` [patch 1/8] Ammasso - ib_post_send fix frank zago
[not found] ` <4B0C19A1.1050008-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-12-02 17:34 ` Roland Dreier
2009-11-24 17:36 ` [patch 2/8] ehca - ib_post_send fixes Always set ib_post_send()s bad_wr. Do not report success if an error occurred frank zago
2009-11-24 17:36 ` [patch 3/8] cxgb3 - ib_post_send fixes frank zago
2009-11-24 17:36 ` [patch 4/8] cxgb3 - ib_post_recv fixes frank zago
2009-11-24 17:36 ` [patch 5/8] ehca - ib_post_recv fixes Always set ib_post_recv()s bad_wr frank zago
[not found] ` <4B0C19AE.6030006-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 23:06 ` Alexander Schmidt
2009-11-24 23:28 ` frank zago
2009-11-24 17:36 ` [patch 7/8] NES - ib_post_send fixes frank zago
[not found] ` <4B0C19B1.8030304-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 20:00 ` Tung, Chien Tin
2009-11-24 17:36 ` [patch 6/8] ammasso - ib_post_recv fix frank zago
2009-11-24 17:36 ` [patch 8/8] NES - ib_post_recv fixes frank zago
[not found] ` <4B0C19B8.8010807-klaOcWyJdxkshyMvu7JE4pqQE7yCjDx5@public.gmane.org>
2009-11-24 20:00 ` Tung, Chien Tin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox