}
lk_tab_size = rdi->lkey_table.max * sizeof(*rdi->lkey_table.table);
rdi->lkey_table.table = (struct rvt_mregion __rcu **)
- vmalloc(lk_tab_size);
+ vmalloc_node(lk_tab_size, rdi->dparms.node);
if (!rdi->lkey_table.table)
return -ENOMEM;
return -EINVAL;
/* allocate parent object */
- rdi->qp_dev = kzalloc(sizeof(*rdi->qp_dev), GFP_KERNEL);
+ rdi->qp_dev = kzalloc_node(sizeof(*rdi->qp_dev), GFP_KERNEL,
+ rdi->dparms.node);
if (!rdi->qp_dev)
return -ENOMEM;
rdi->qp_dev->qp_table_size = rdi->dparms.qp_table_size;
rdi->qp_dev->qp_table_bits = ilog2(rdi->dparms.qp_table_size);
rdi->qp_dev->qp_table =
- kmalloc(rdi->qp_dev->qp_table_size *
- sizeof(*rdi->qp_dev->qp_table),
- GFP_KERNEL);
+ kmalloc_node(rdi->qp_dev->qp_table_size *
+ sizeof(*rdi->qp_dev->qp_table),
+ GFP_KERNEL, rdi->dparms.node);
if (!rdi->qp_dev->qp_table)
goto no_qp_table;
(init_attr->cap.max_send_wr + 1) * sz,
gfp, PAGE_KERNEL);
else
- swq = vmalloc(
- (init_attr->cap.max_send_wr + 1) * sz);
+ swq = vmalloc_node(
+ (init_attr->cap.max_send_wr + 1) * sz,
+ rdi->dparms.node);
if (!swq)
return ERR_PTR(-ENOMEM);
} else if (init_attr->cap.max_recv_sge > 1)
sg_list_sz = sizeof(*qp->r_sg_list) *
(init_attr->cap.max_recv_sge - 1);
- qp = kzalloc(sz + sg_list_sz, gfp);
+ qp = kzalloc_node(sz + sg_list_sz, gfp, rdi->dparms.node);
if (!qp)
goto bail_swq;
qp->r_rq.size * sz,
gfp, PAGE_KERNEL);
else
- qp->r_rq.wq = vmalloc(
+ qp->r_rq.wq = vmalloc_node(
sizeof(struct rvt_rwq) +
- qp->r_rq.size * sz);
+ qp->r_rq.size * sz,
+ rdi->dparms.node);
if (!qp->r_rq.wq)
goto bail_driver_priv;
}