All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: jgg-uk2M96/98Pc@public.gmane.org,
	dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Mike Marciniszyn
	<mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Sebastian Sanchez
	<sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: [PATCH for-next 08/11] IB/rdmavt: Allocate CQ memory on the correct node
Date: Mon, 18 Dec 2017 19:57:06 -0800	[thread overview]
Message-ID: <20171219035704.2126.25872.stgit@scvm10.sc.intel.com> (raw)
In-Reply-To: <20171219034753.2126.78386.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>

From: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

CQ allocation does not ensure that completion queue entries
and the completion queue structure are allocated on the correct
numa node.

Fix by allocating the rvt_cq and kernel CQ entries on the device node,
leaving the user CQ entries on the default local node.  Also ensure
CQ resizes use the correct allocator when extending a CQ.

Reviewed-by: Sebastian Sanchez <sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
 drivers/infiniband/sw/rdmavt/cq.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/infiniband/sw/rdmavt/cq.c b/drivers/infiniband/sw/rdmavt/cq.c
index 97d71e4..88fa4d4 100644
--- a/drivers/infiniband/sw/rdmavt/cq.c
+++ b/drivers/infiniband/sw/rdmavt/cq.c
@@ -198,7 +198,7 @@ struct ib_cq *rvt_create_cq(struct ib_device *ibdev,
 		return ERR_PTR(-EINVAL);
 
 	/* Allocate the completion queue structure. */
-	cq = kzalloc(sizeof(*cq), GFP_KERNEL);
+	cq = kzalloc_node(sizeof(*cq), GFP_KERNEL, rdi->dparms.node);
 	if (!cq)
 		return ERR_PTR(-ENOMEM);
 
@@ -214,7 +214,9 @@ struct ib_cq *rvt_create_cq(struct ib_device *ibdev,
 		sz += sizeof(struct ib_uverbs_wc) * (entries + 1);
 	else
 		sz += sizeof(struct ib_wc) * (entries + 1);
-	wc = vmalloc_user(sz);
+	wc = udata ?
+		vmalloc_user(sz) :
+		vzalloc_node(sz, rdi->dparms.node);
 	if (!wc) {
 		ret = ERR_PTR(-ENOMEM);
 		goto bail_cq;
@@ -369,7 +371,9 @@ int rvt_resize_cq(struct ib_cq *ibcq, int cqe, struct ib_udata *udata)
 		sz += sizeof(struct ib_uverbs_wc) * (cqe + 1);
 	else
 		sz += sizeof(struct ib_wc) * (cqe + 1);
-	wc = vmalloc_user(sz);
+	wc = udata ?
+		vmalloc_user(sz) :
+		vzalloc_node(sz, rdi->dparms.node);
 	if (!wc)
 		return -ENOMEM;
 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-12-19  3:57 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-19  3:56 [PATCH for-next 00/11] IB/hfi1, rdmavt, qib: Driver updates for 12/18/2017 Dennis Dalessandro
     [not found] ` <20171219034753.2126.78386.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19  3:56   ` [PATCH for-next 01/11] IB/hfi1: Destroy link_wq workqueue after free_irq() Dennis Dalessandro
     [not found]     ` <20171219035612.2126.10447.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19 20:57       ` Jason Gunthorpe
     [not found]         ` <20171219205754.GE14814-uk2M96/98Pc@public.gmane.org>
2017-12-20 21:01           ` Ruhl, Michael J
     [not found]             ` <14063C7AD467DE4B82DEDB5C278E86639F0E3917-AtyAts71sc88Ug9VwtkbtrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-12-20 21:11               ` Jason Gunthorpe
     [not found]                 ` <20171220211112.GG22908-uk2M96/98Pc@public.gmane.org>
2017-12-22 13:13                   ` Ruhl, Michael J
2017-12-19  3:56   ` [PATCH for-next 02/11] IB/hfi1: Check return value of strchr before using it Dennis Dalessandro
     [not found]     ` <20171219035621.2126.23093.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-20  8:25       ` Leon Romanovsky
     [not found]         ` <20171220082555.GN2942-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2018-01-03 15:05           ` Dennis Dalessandro
     [not found]             ` <f5849e2b-c8cd-b93b-f32f-f423bff9ae31-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-03 15:27               ` Leon Romanovsky
     [not found]                 ` <20180103152721.GT10145-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2018-01-03 15:42                   ` Dennis Dalessandro
     [not found]                     ` <4555c08f-a568-48ea-e183-2d49ebd36c7c-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2018-01-05 17:39                       ` Doug Ledford
2017-12-19  3:56   ` [PATCH for-next 03/11] IB/rdmavt: No need to cancel RNRNAK retry timer when it is running Dennis Dalessandro
2017-12-19  3:56   ` [PATCH for-next 04/11] IB/{rdmavt, hfi1, qib}: Self determine driver name Dennis Dalessandro
     [not found]     ` <20171219035635.2126.59763.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19 20:59       ` Jason Gunthorpe
2017-12-19  3:56   ` [PATCH for-next 05/11] IB/{rdmavt, hfi1, qib}: Remove get_card_name() downcall Dennis Dalessandro
2017-12-19  3:56   ` [PATCH for-next 06/11] IB/rdmavt: Use correct numa node for SRQ allocation Dennis Dalessandro
     [not found]     ` <20171219035649.2126.1625.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-20  8:17       ` Leon Romanovsky
     [not found]         ` <20171220081720.GM2942-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-12-20  8:31           ` Leon Romanovsky
2017-12-19  3:56   ` [PATCH for-next 07/11] IB/hfi1: Fix infinite loop in 8051 command error path Dennis Dalessandro
     [not found]     ` <20171219035657.2126.88651.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-20  8:08       ` Leon Romanovsky
     [not found]         ` <20171220080854.GL2942-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-12-20 18:02           ` Sanchez, Sebastian
     [not found]             ` <5CDA63463B33C94CA80846587415F0772829387D-8oqHQFITsIGkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-12-20 18:12               ` Jason Gunthorpe
     [not found]                 ` <20171220181244.GD22908-uk2M96/98Pc@public.gmane.org>
2017-12-20 22:24                   ` Sanchez, Sebastian
2017-12-19  3:57   ` Dennis Dalessandro [this message]
2017-12-19  3:57   ` [PATCH for-next 09/11] rdma: Update maintainer contact for Intel RDMA drivers Dennis Dalessandro
     [not found]     ` <20171219035711.2126.47130.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-12-19 20:51       ` Jason Gunthorpe
2017-12-22 23:39       ` Jason Gunthorpe
2017-12-19  3:57   ` [PATCH for-next 10/11] IB/{hfi1, qib}: Fix a concurrency issue with device name in logging Dennis Dalessandro
2017-12-19  3:57   ` [PATCH for-next 11/11] IB/rdmavt: Add trace for RNRNAK timer Dennis Dalessandro
2018-01-05 18:36   ` [PATCH for-next 00/11] IB/hfi1, rdmavt, qib: Driver updates for 12/18/2017 Doug Ledford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171219035704.2126.25872.stgit@scvm10.sc.intel.com \
    --to=dennis.dalessandro-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=jgg-uk2M96/98Pc@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.