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