Hello, Roland,

I have a question about below code. Why IPOIB_NUM_WC was set to 4 by default? If there is no particular reason, I would like to submit a patch to make this value tunable.

I found some interesting result on different drivers when making this number tunable. In some case, netperf could even get up to 30% throughout on ehca, but mthca only gets around 2%. I can post a patch and test result if you are interested.

Also I noticed that mthca sends IB_CQ_NEXT_COMP with completion entry==0 pretty often, in my netperf test, more than 30% time.

void ipoib_ib_completion(struct ib_cq *cq, void *dev_ptr)
{
        struct net_device *dev = (struct net_device *) dev_ptr;
        struct ipoib_dev_priv *priv = netdev_priv(dev);
        int n, i;

        ib_req_notify_cq(cq, IB_CQ_NEXT_COMP);
        do {
                n = ib_poll_cq(cq, IPOIB_NUM_WC, priv->ibwc);
                for (i = 0; i < n; ++i)
                        ipoib_ib_handle_wc(dev, priv->ibwc + i);
        } while (n == IPOIB_NUM_WC);
}

Thanks
Shirley Ma
IBM Linux Technology Center
15300 SW Koll Parkway
Beaverton, OR 97006-6063
Phone(Fax): (503) 578-7638

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

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

Reply via email to