Eli Cohen wrote:
David Wilder wrote:

I tested with OFED-1.3-20080214-0725.tgz. This build look to have both a tx_ring and rx_ring fix.

This build fixes our problem using send_queue_size=1024

But the recv_queue_size=2048 is still failing.

[dmesg]
ib%d: failed allocating SRQ wr array
ib%d: failed allocating SRQ wr array

kernel:  2.6.16.57-0.9



I did not replace the allocation function for the SRQ wr array.


I saw that :)
You need to make the same change in three more places:

static void ipoib_cm_create_srq(struct net_device *dev, int max_sge)
.
.
----> priv->cm.rx_wr_arr = kzalloc(ipoib_recvq_size *
                          sizeof priv->cm.rx_wr_arr[0], GFP_KERNEL);
        if (!priv->cm.rx_wr_arr) {
                ipoib_warn(priv, "failed allocating SRQ wr array\n");
                goto destory_srq;
        }
.
.
.
----> priv->cm.srq_ring = kzalloc(ipoib_recvq_size *
                             sizeof *priv->cm.srq_ring, GFP_KERNEL);
        if (!priv->cm.srq_ring) {
printk(KERN_WARNING "%s: failed to allocate CM SRQ ring (%d entries)\n",
                       priv->ca->name, ipoib_recvq_size);
                goto free_wr_array;
        }


static int ipoib_cm_tx_init(struct ipoib_cm_tx *p, u32 qpn,
                            struct ib_sa_path_rec *pathrec)
{
        struct ipoib_dev_priv *priv = netdev_priv(p->dev);
        int ret;
----->   p->tx_ring = kzalloc(ipoib_sendq_size * sizeof *p->tx_ring,
                                GFP_KERNEL);
        if (!p->tx_ring) {
                ipoib_warn(priv, "failed to allocate tx ring\n");
                ret = -ENOMEM;
                goto err_tx;
        }




_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

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

Reply via email to