Roland Dreier <[EMAIL PROTECTED]> 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

_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to