[openib-general] [PATCH][1/7]ipoib performance patches -- split CQ

Shirley Ma xma at us.ibm.com
Tue May 23 10:20:52 PDT 2006


Roland Dreier <rdreier at cisco.com> wrote on 05/23/2006 09:09:05 AM:

> Did you send the other 6 patches in this series?
Yes, I am splitting these patches.

> I was waiting to comment until I had all the patches, but there is one
> really bad thing here:
> 
>  > +       IPOIB_NUM_SEND_WC         = 32,
> 
>  > +void ipoib_ib_send_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);
>  > +       struct ib_wc ibwc[IPOIB_NUM_SEND_WC];
> 
> If I'm doing the math correctly, this function now uses more than 2K
> of stack, which is of course unacceptable.
> 
> I don't think there's any way around keeping the wc array in the
> ipoib_dev_priv structure.
> 
>  - R.

The stack is 4k, not 8K anymore. I think we can still use 
IPOIB_NUM_SEND_WC as 4. I modified mthca_XXX_post_send to remove lock 
totally before(since sender is exclusive), and found that lock didn't 
impact performance too much.

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



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20060523/8ffe3f57/attachment.html>


More information about the general mailing list