[openib-general] [PATCH/RFC 1/2] IB: Return "maybe_missed_event" hint from ib_req_notify_cq()

Shirley Ma xma at us.ibm.com
Thu Nov 9 21:41:18 PST 2006






Roland Dreier <rdreier at cisco.com> wrote on 10/19/2006 09:10:35 PM:
Roland,

> I looked over my code again, and I don't see anything obviously wrong,
> but it's quite possible I made a mistake that I just can't see right
> now (like reversing a truth value somewhere).  Someone who knows how
> ehca works might be able to spot the error.
>
>  - R.

Your code is OK. I just found the problem here.
+            if (empty) {
+                        netif_rx_complete(dev);
+                        ib_req_notify_cq(priv->cq, IB_CQ_NEXT_COMP,
&missed_event);
+                        if (unlikely(missed_event) &&
netif_rx_reschedule(dev, 0))
+                                    goto repoll;
+
+                        return 0;
+            }

netif_rx_complete() should be called right before return. It does improve
none scaling performance with this patch, but reduce scaling performance.

+            if (empty) {
+                        ib_req_notify_cq(priv->cq, IB_CQ_NEXT_COMP,
&missed_event);
+                        if (unlikely(missed_event) &&
netif_rx_reschedule(dev, 0))
+                                    goto repoll;
+                        netif_rx_complete(dev);
+
+                        return 0;
+            }
Any other reason, calling netif_rx_complete() while still possibably within
napi?

Thanks
Shirley Ma
IBM Linux Technology Center
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20061109/b693a167/attachment.html>


More information about the general mailing list