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