summaryrefslogtreecommitdiffstats
path: root/drivers/staging/rdma
diff options
context:
space:
mode:
authorMitko Haralanov2016-02-03 23:33:58 +0100
committerDoug Ledford2016-03-11 02:37:52 +0100
commit377f111ee81bcef1a788a396f6d813a6b966acbb (patch)
tree53105d8d5317a91aef2067973822b13855603e0c /drivers/staging/rdma
parentstaging/rdma/hfi1: Allocate send ctxt on device NUMA node (diff)
downloadkernel-qcow2-linux-377f111ee81bcef1a788a396f6d813a6b966acbb.tar.gz
kernel-qcow2-linux-377f111ee81bcef1a788a396f6d813a6b966acbb.tar.xz
kernel-qcow2-linux-377f111ee81bcef1a788a396f6d813a6b966acbb.zip
staging/rdma/hfi1: Verbs Mem affinity support
Change verbs memory allocations to the device numa node. This keeps memory close to the device for optimal performance. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/staging/rdma')
-rw-r--r--drivers/staging/rdma/hfi1/init.c3
-rw-r--r--drivers/staging/rdma/hfi1/qp.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/staging/rdma/hfi1/init.c b/drivers/staging/rdma/hfi1/init.c
index 98b3fc145660..629e92aa4f0a 100644
--- a/drivers/staging/rdma/hfi1/init.c
+++ b/drivers/staging/rdma/hfi1/init.c
@@ -134,7 +134,8 @@ int hfi1_create_ctxts(struct hfi1_devdata *dd)
/* Control context has to be always 0 */
BUILD_BUG_ON(HFI1_CTRL_CTXT != 0);
- dd->rcd = kcalloc(dd->num_rcv_contexts, sizeof(*dd->rcd), GFP_KERNEL);
+ dd->rcd = kzalloc_node(dd->num_rcv_contexts * sizeof(*dd->rcd),
+ GFP_KERNEL, dd->node);
if (!dd->rcd)
goto nomem;
diff --git a/drivers/staging/rdma/hfi1/qp.c b/drivers/staging/rdma/hfi1/qp.c
index 05a9619752ae..b78c8eadcd95 100644
--- a/drivers/staging/rdma/hfi1/qp.c
+++ b/drivers/staging/rdma/hfi1/qp.c
@@ -596,13 +596,13 @@ void *qp_priv_alloc(struct rvt_dev_info *rdi, struct rvt_qp *qp,
{
struct hfi1_qp_priv *priv;
- priv = kzalloc(sizeof(*priv), gfp);
+ priv = kzalloc_node(sizeof(*priv), gfp, rdi->dparms.node);
if (!priv)
return ERR_PTR(-ENOMEM);
priv->owner = qp;
- priv->s_hdr = kzalloc(sizeof(*priv->s_hdr), gfp);
+ priv->s_hdr = kzalloc_node(sizeof(*priv->s_hdr), gfp, rdi->dparms.node);
if (!priv->s_hdr) {
kfree(priv);
return ERR_PTR(-ENOMEM);