[rds-devel] [PATCH] ofed_kernel/net/rds/ib_send.c

Mike Heinz michael.heinz at qlogic.com
Fri May 27 11:09:49 PDT 2011


Andy,

I sent this patch months ago, and my notes say that it was "accepted" - but when I looked at the Linux-rdma tree, it doesn't seem to be there; did you ever get this?

BTW - I tried to send this to andy.grover at oracle.com and it bounced.

-----Original Message-----

This corrects a CQ overflow and timing issue which can be observed in RDS

Signed-off-by: Michael Heinz <michael.heinz at qlogic.com>
---
 net/rds/ib_send.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c index 71f373c..61a317e 100644
--- a/net/rds/ib_send.c
+++ b/net/rds/ib_send.c
@@ -286,10 +286,8 @@ void rds_ib_send_cq_comp_handler(struct ib_cq *cq, void *context)

        rdsdebug("cq %p conn %p\n", cq, conn);
        rds_ib_stats_inc(s_ib_tx_cq_call);
-       ret = ib_req_notify_cq(cq, IB_CQ_NEXT_COMP);
-       if (ret)
-               rdsdebug("ib_req_notify_cq send failed: %d\n", ret);

+again:
        while (ib_poll_cq(cq, 1, &wc) > 0) {
                rdsdebug("wc wr_id 0x%llx status %u (%s) byte_len %u imm_data %u\n",
                         (unsigned long long)wc.wr_id, wc.status, @@ -347,6 +345,12 @@ void rds_ib_send_cq_comp_handler(struct ib_cq *cq, void *context)
                                          rds_ib_wc_status_str(wc.status));
                }
        }
+       ret = ib_req_notify_cq(cq, IB_CQ_NEXT_COMP |
+                                  IB_CQ_REPORT_MISSED_EVENTS);
+       if (ret > 0)
+               goto again;
+       if (ret < 0)
+               rdsdebug("ib_req_notify_cq send failed: %d\n", ret);
 }

 /*

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo at vger.kernel.org More majordomo info at  http://vger.kernel.org/majordomo-info.html


This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 4222 bytes
Desc: not available
Url : http://oss.oracle.com/pipermail/rds-devel/attachments/20110527/95fe9407/attachment.bin 


More information about the rds-devel mailing list