RDMA: Use vzalloc() to replace vmalloc()+memset(0)
authorJoe Perches <joe@perches.com>
Fri, 5 Nov 2010 03:07:36 +0000 (03:07 +0000)
committerRoland Dreier <rolandd@cisco.com>
Wed, 12 Jan 2011 19:11:58 +0000 (11:11 -0800)
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/amso1100/c2_rnic.c
drivers/infiniband/hw/ehca/ipz_pt_fn.c
drivers/infiniband/hw/ipath/ipath_driver.c
drivers/infiniband/hw/ipath/ipath_file_ops.c
drivers/infiniband/hw/ipath/ipath_init_chip.c
drivers/infiniband/hw/qib/qib_init.c
drivers/infiniband/ulp/ipoib/ipoib_cm.c
drivers/infiniband/ulp/ipoib/ipoib_main.c

index 85cfae4..8c81992 100644 (file)
@@ -459,13 +459,12 @@ int __devinit c2_rnic_init(struct c2_dev *c2dev)
             IB_DEVICE_MEM_WINDOW);
 
        /* Allocate the qptr_array */
-       c2dev->qptr_array = vmalloc(C2_MAX_CQS * sizeof(void *));
+       c2dev->qptr_array = vzalloc(C2_MAX_CQS * sizeof(void *));
        if (!c2dev->qptr_array) {
                return -ENOMEM;
        }
 
-       /* Inialize the qptr_array */
-       memset(c2dev->qptr_array, 0, C2_MAX_CQS * sizeof(void *));
+       /* Initialize the qptr_array */
        c2dev->qptr_array[0] = (void *) &c2dev->req_vq;
        c2dev->qptr_array[1] = (void *) &c2dev->rep_vq;
        c2dev->qptr_array[2] = (void *) &c2dev->aeq;
index 1596e30..1898d6e 100644 (file)
@@ -222,15 +222,14 @@ int ipz_queue_ctor(struct ehca_pd *pd, struct ipz_queue *queue,
        queue->small_page = NULL;
 
        /* allocate queue page pointers */
-       queue->queue_pages = kmalloc(nr_of_pages * sizeof(void *), GFP_KERNEL);
+       queue->queue_pages = kzalloc(nr_of_pages * sizeof(void *), GFP_KERNEL);
        if (!queue->queue_pages) {
-               queue->queue_pages = vmalloc(nr_of_pages * sizeof(void *));
+               queue->queue_pages = vzalloc(nr_of_pages * sizeof(void *));
                if (!queue->queue_pages) {
                        ehca_gen_err("Couldn't allocate queue page list");
                        return 0;
                }
        }
-       memset(queue->queue_pages, 0, nr_of_pages * sizeof(void *));
 
        /* allocate actual queue pages */
        if (is_small) {
index b33f045..ae92da2 100644 (file)
@@ -199,12 +199,11 @@ static struct ipath_devdata *ipath_alloc_devdata(struct pci_dev *pdev)
                goto bail;
        }
 
-       dd = vmalloc(sizeof(*dd));
+       dd = vzalloc(sizeof(*dd));
        if (!dd) {
                dd = ERR_PTR(-ENOMEM);
                goto bail;
        }
-       memset(dd, 0, sizeof(*dd));
        dd->ipath_unit = -1;
 
        spin_lock_irqsave(&ipath_devs_lock, flags);
index 9292a15..6d4b29c 100644 (file)
@@ -1530,7 +1530,7 @@ static int init_subports(struct ipath_devdata *dd,
        }
 
        num_subports = uinfo->spu_subport_cnt;
-       pd->subport_uregbase = vmalloc(PAGE_SIZE * num_subports);
+       pd->subport_uregbase = vzalloc(PAGE_SIZE * num_subports);
        if (!pd->subport_uregbase) {
                ret = -ENOMEM;
                goto bail;
@@ -1538,13 +1538,13 @@ static int init_subports(struct ipath_devdata *dd,
        /* Note: pd->port_rcvhdrq_size isn't initialized yet. */
        size = ALIGN(dd->ipath_rcvhdrcnt * dd->ipath_rcvhdrentsize *
                     sizeof(u32), PAGE_SIZE) * num_subports;
-       pd->subport_rcvhdr_base = vmalloc(size);
+       pd->subport_rcvhdr_base = vzalloc(size);
        if (!pd->subport_rcvhdr_base) {
                ret = -ENOMEM;
                goto bail_ureg;
        }
 
-       pd->subport_rcvegrbuf = vmalloc(pd->port_rcvegrbuf_chunks *
+       pd->subport_rcvegrbuf = vzalloc(pd->port_rcvegrbuf_chunks *
                                        pd->port_rcvegrbuf_size *
                                        num_subports);
        if (!pd->subport_rcvegrbuf) {
@@ -1556,11 +1556,6 @@ static int init_subports(struct ipath_devdata *dd,
        pd->port_subport_id = uinfo->spu_subport_id;
        pd->active_slaves = 1;
        set_bit(IPATH_PORT_MASTER_UNINIT, &pd->port_flag);
-       memset(pd->subport_uregbase, 0, PAGE_SIZE * num_subports);
-       memset(pd->subport_rcvhdr_base, 0, size);
-       memset(pd->subport_rcvegrbuf, 0, pd->port_rcvegrbuf_chunks *
-                                        pd->port_rcvegrbuf_size *
-                                        num_subports);
        goto bail;
 
 bail_rhdr:
index 7769382..fef0f42 100644 (file)
@@ -442,7 +442,7 @@ static void init_shadow_tids(struct ipath_devdata *dd)
        struct page **pages;
        dma_addr_t *addrs;
 
-       pages = vmalloc(dd->ipath_cfgports * dd->ipath_rcvtidcnt *
+       pages = vzalloc(dd->ipath_cfgports * dd->ipath_rcvtidcnt *
                        sizeof(struct page *));
        if (!pages) {
                ipath_dev_err(dd, "failed to allocate shadow page * "
@@ -461,9 +461,6 @@ static void init_shadow_tids(struct ipath_devdata *dd)
                return;
        }
 
-       memset(pages, 0, dd->ipath_cfgports * dd->ipath_rcvtidcnt *
-              sizeof(struct page *));
-
        dd->ipath_pageshadow = pages;
        dd->ipath_physshadow = addrs;
 }
index 7896afb..304bd80 100644 (file)
@@ -270,23 +270,20 @@ static void init_shadow_tids(struct qib_devdata *dd)
        struct page **pages;
        dma_addr_t *addrs;
 
-       pages = vmalloc(dd->cfgctxts * dd->rcvtidcnt * sizeof(struct page *));
+       pages = vzalloc(dd->cfgctxts * dd->rcvtidcnt * sizeof(struct page *));
        if (!pages) {
                qib_dev_err(dd, "failed to allocate shadow page * "
                            "array, no expected sends!\n");
                goto bail;
        }
 
-       addrs = vmalloc(dd->cfgctxts * dd->rcvtidcnt * sizeof(dma_addr_t));
+       addrs = vzalloc(dd->cfgctxts * dd->rcvtidcnt * sizeof(dma_addr_t));
        if (!addrs) {
                qib_dev_err(dd, "failed to allocate shadow dma handle "
                            "array, no expected sends!\n");
                goto bail_free;
        }
 
-       memset(pages, 0, dd->cfgctxts * dd->rcvtidcnt * sizeof(struct page *));
-       memset(addrs, 0, dd->cfgctxts * dd->rcvtidcnt * sizeof(dma_addr_t));
-
        dd->pageshadow = pages;
        dd->physshadow = addrs;
        return;
index c1c49f2..93d5580 100644 (file)
@@ -352,15 +352,13 @@ static int ipoib_cm_nonsrq_init_rx(struct net_device *dev, struct ib_cm_id *cm_i
        int ret;
        int i;
 
-       rx->rx_ring = vmalloc(ipoib_recvq_size * sizeof *rx->rx_ring);
+       rx->rx_ring = vzalloc(ipoib_recvq_size * sizeof *rx->rx_ring);
        if (!rx->rx_ring) {
                printk(KERN_WARNING "%s: failed to allocate CM non-SRQ ring (%d entries)\n",
                       priv->ca->name, ipoib_recvq_size);
                return -ENOMEM;
        }
 
-       memset(rx->rx_ring, 0, ipoib_recvq_size * sizeof *rx->rx_ring);
-
        t = kmalloc(sizeof *t, GFP_KERNEL);
        if (!t) {
                ret = -ENOMEM;
@@ -1097,13 +1095,12 @@ static int ipoib_cm_tx_init(struct ipoib_cm_tx *p, u32 qpn,
        struct ipoib_dev_priv *priv = netdev_priv(p->dev);
        int ret;
 
-       p->tx_ring = vmalloc(ipoib_sendq_size * sizeof *p->tx_ring);
+       p->tx_ring = vzalloc(ipoib_sendq_size * sizeof *p->tx_ring);
        if (!p->tx_ring) {
                ipoib_warn(priv, "failed to allocate tx ring\n");
                ret = -ENOMEM;
                goto err_tx;
        }
-       memset(p->tx_ring, 0, ipoib_sendq_size * sizeof *p->tx_ring);
 
        p->qp = ipoib_cm_create_tx_qp(p->dev, p);
        if (IS_ERR(p->qp)) {
@@ -1521,7 +1518,7 @@ static void ipoib_cm_create_srq(struct net_device *dev, int max_sge)
                return;
        }
 
-       priv->cm.srq_ring = vmalloc(ipoib_recvq_size * sizeof *priv->cm.srq_ring);
+       priv->cm.srq_ring = vzalloc(ipoib_recvq_size * sizeof *priv->cm.srq_ring);
        if (!priv->cm.srq_ring) {
                printk(KERN_WARNING "%s: failed to allocate CM SRQ ring (%d entries)\n",
                       priv->ca->name, ipoib_recvq_size);
@@ -1530,7 +1527,6 @@ static void ipoib_cm_create_srq(struct net_device *dev, int max_sge)
                return;
        }
 
-       memset(priv->cm.srq_ring, 0, ipoib_recvq_size * sizeof *priv->cm.srq_ring);
 }
 
 int ipoib_cm_dev_init(struct net_device *dev)
index 7a07a72..aca3b44 100644 (file)
@@ -916,13 +916,12 @@ int ipoib_dev_init(struct net_device *dev, struct ib_device *ca, int port)
                goto out;
        }
 
-       priv->tx_ring = vmalloc(ipoib_sendq_size * sizeof *priv->tx_ring);
+       priv->tx_ring = vzalloc(ipoib_sendq_size * sizeof *priv->tx_ring);
        if (!priv->tx_ring) {
                printk(KERN_WARNING "%s: failed to allocate TX ring (%d entries)\n",
                       ca->name, ipoib_sendq_size);
                goto out_rx_ring_cleanup;
        }
-       memset(priv->tx_ring, 0, ipoib_sendq_size * sizeof *priv->tx_ring);
 
        /* priv->tx_head, tx_tail & tx_outstanding are already 0 */