public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] IB/iser: Remove hard coded values for cqe and send_wr
@ 2014-10-08  0:41 Jay Kallickal
  2014-10-08  5:58 ` Sagi Grimberg
       [not found] ` <1412728888-13100-1-git-send-email-jkallickal-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org>
  0 siblings, 2 replies; 27+ messages in thread
From: Jay Kallickal @ 2014-10-08  0:41 UTC (permalink / raw)
  To: linux-scsi-u79uwXL29TY76Z2rM5mHXA,
	michaelc-hcNo3dDEHLuVc3sceRu5cw,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA
  Cc: Jayamohan Kallickal, Minh Tran, Jayamohan Kallickal

From: Jayamohan Kallickal <jayamohank-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

	This patch allows the underlying hardware to choose 
values other than  hard coded max values for cqe and send_wr
while preventing them from exceeding max supported values.

Signed-off-by: Minh Tran <minhduc.tran-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org>
---
 drivers/infiniband/ulp/iser/iser_verbs.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c
index 32849f2..7cdb297 100644
--- a/drivers/infiniband/ulp/iser/iser_verbs.c
+++ b/drivers/infiniband/ulp/iser/iser_verbs.c
@@ -73,7 +73,7 @@ static int iser_create_device_ib_res(struct iser_device *device)
 {
 	struct iser_cq_desc *cq_desc;
 	struct ib_device_attr *dev_attr = &device->dev_attr;
-	int ret, i, j;
+	int ret, i, j, max_cqe;
 
 	ret = ib_query_device(device->ib_device, dev_attr);
 	if (ret) {
@@ -120,18 +120,24 @@ static int iser_create_device_ib_res(struct iser_device *device)
 		cq_desc[i].device   = device;
 		cq_desc[i].cq_index = i;
 
+		max_cqe = (dev_attr->max_cqe < ISER_MAX_RX_CQ_LEN) ?
+			   dev_attr->max_cqe : ISER_MAX_RX_CQ_LEN;
+
 		device->rx_cq[i] = ib_create_cq(device->ib_device,
 					  iser_cq_callback,
 					  iser_cq_event_callback,
 					  (void *)&cq_desc[i],
-					  ISER_MAX_RX_CQ_LEN, i);
+					  max_cqe, i);
 		if (IS_ERR(device->rx_cq[i]))
 			goto cq_err;
 
+		max_cqe = (dev_attr->max_cqe < ISER_MAX_TX_CQ_LEN) ?
+			   dev_attr->max_cqe : ISER_MAX_TX_CQ_LEN;
+
 		device->tx_cq[i] = ib_create_cq(device->ib_device,
 					  NULL, iser_cq_event_callback,
 					  (void *)&cq_desc[i],
-					  ISER_MAX_TX_CQ_LEN, i);
+					  max_cqe, i);
 
 		if (IS_ERR(device->tx_cq[i]))
 			goto cq_err;
@@ -439,6 +445,7 @@ void iser_free_fastreg_pool(struct iser_conn *ib_conn)
 static int iser_create_ib_conn_res(struct iser_conn *ib_conn)
 {
 	struct iser_device	*device;
+	struct ib_device_attr *dev_attr;
 	struct ib_qp_init_attr	init_attr;
 	int			ret = -ENOMEM;
 	int index, min_index = 0;
@@ -459,6 +466,7 @@ static int iser_create_ib_conn_res(struct iser_conn *ib_conn)
 	mutex_unlock(&ig.connlist_mutex);
 	iser_info("cq index %d used for ib_conn %p\n", min_index, ib_conn);
 
+	dev_attr = &device->dev_attr;
 	init_attr.event_handler = iser_qp_event_callback;
 	init_attr.qp_context	= (void *)ib_conn;
 	init_attr.send_cq	= device->tx_cq[min_index];
@@ -472,7 +480,9 @@ static int iser_create_ib_conn_res(struct iser_conn *ib_conn)
 		init_attr.cap.max_send_wr = ISER_QP_SIG_MAX_REQ_DTOS;
 		init_attr.create_flags |= IB_QP_CREATE_SIGNATURE_EN;
 	} else {
-		init_attr.cap.max_send_wr  = ISER_QP_MAX_REQ_DTOS;
+		init_attr.cap.max_send_wr  =
+			(dev_attr->max_qp_wr < ISER_QP_MAX_REQ_DTOS) ?
+			 dev_attr->max_qp_wr : ISER_QP_MAX_REQ_DTOS;
 	}
 
 	ret = rdma_create_qp(ib_conn->cma_id, device->pd, &init_attr);
-- 
1.8.5.3

--
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

^ permalink raw reply related	[flat|nested] 27+ messages in thread
* Re: [PATCH 1/1] IB/iser: Remove hard coded values for cqe and send_wr
@ 2014-10-14  5:19 Jayamohan Kallickal
  0 siblings, 0 replies; 27+ messages in thread
From: Jayamohan Kallickal @ 2014-10-14  5:19 UTC (permalink / raw)
  To: Sagi Grimberg <sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> (sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org)
  Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Mike Christie,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Minh Duc Tran,
	Jayamohan Kallickal


>On Tue, Oct 7, 2014 at 10:58 PM, Sagi Grimberg <sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> wrote:
>>On 10/8/2014 3:41 AM, Jay Kallickal wrote:
>>From: Jayamohan Kallickal <jayamohank-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

>>      This patch allows the underlying hardware to choose
>>values other than  hard coded max values for cqe and send_wr
>>while preventing them from exceeding max supported values.

>Hi Minh and Jayamohan,

>So I agree that we would want to take device capabilities into account
>here, but we need to be able to adjust scsi_cmds_max (can_queue) in case
>the max wqe supported is lower than scsi_cmds_max * num_posts_per_cmd.


I feel we should be fine as long as we support the max_cmds of 128 supported by open-iscsi layer.

I see the iser layer uses a value of 512 though it only serves as a limit check. 


>So generally I agree with this approach, but we need to take care of
>stuff later when the session is created.

>One more thing, this is not rebased on the latest iser patches please
>send v1 on top of: http://marc.info/?l=linux-rdma&m=141216135013146&w=2

Yes, I will recreate the patch and send on top of this


Resending:
 Looks like my response got dropped by the filters.

Am travelling . Minh is working on the patches and would respond 
-Jay
--
--
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

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2014-10-22 11:08 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-08  0:41 [PATCH 1/1] IB/iser: Remove hard coded values for cqe and send_wr Jay Kallickal
2014-10-08  5:58 ` Sagi Grimberg
     [not found]   ` <CAEc=gqbKrqK_PdN8XOfkaNZgscMeODL=i6oFU+SwQrMxT2gixg@mail.gmail.com>
     [not found]     ` <CAEc=gqbKrqK_PdN8XOfkaNZgscMeODL=i6oFU+SwQrMxT2gixg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-13  8:15       ` Sagi Grimberg
     [not found] ` <1412728888-13100-1-git-send-email-jkallickal-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org>
2014-10-14  7:50   ` Or Gerlitz
     [not found]     ` <543CD5D6.1020506-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-14 21:53       ` Minh Duc Tran
     [not found]         ` <44d2d670-4785-4a76-8c05-f59791c999cf-3RiH6ntJJkP8BX6JNMqfyFjyZtpTMMwT@public.gmane.org>
2014-10-15 22:31           ` Or Gerlitz
     [not found]             ` <CAJ3xEMjXWuZomt98YJiLfUw=rwZ5A+MUbsxEZnGMj8hP7gu0Og-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-15 23:41               ` Minh Duc Tran
     [not found]                 ` <b7d2d454-8db1-467d-8088-bd52fac9b612-3RiH6ntJJkOPfaB/Gd0HpljyZtpTMMwT@public.gmane.org>
2014-10-16  5:31                   ` Or Gerlitz
     [not found]                     ` <CAJ3xEMgQ_spota-K5XiMQm1Gwk19a7=xFvGJ_JM+DfvpOQ_Nzw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-19 15:50                       ` Sagi Grimberg
     [not found]                         ` <5443DDC5.6020805-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-20  8:05                           ` Or Gerlitz
2014-10-19 15:42           ` Sagi Grimberg
     [not found]             ` <5443DBCA.4000002-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-20  5:36               ` Minh Duc Tran
     [not found]                 ` <ecfd3441-253c-47bf-b2cb-030b2a00f689-3RiH6ntJJkP8BX6JNMqfyFjyZtpTMMwT@public.gmane.org>
2014-10-20  8:01                   ` Or Gerlitz
     [not found]                     ` <CAJ3xEMjbYL9M12UagW52ELdLkHZFnWbKDk0CXZfo_Sf82tjugA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-20 16:14                       ` Sagi Grimberg
     [not found]                         ` <544534DB.4070908-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-20 20:56                           ` Minh Duc Tran
2014-10-20 18:11                       ` Minh Duc Tran
     [not found]                         ` <eaf7c875-e7e1-43eb-b27a-fbd068aa32f1-3RiH6ntJJkP8BX6JNMqfyFjyZtpTMMwT@public.gmane.org>
2014-10-20 21:06                           ` Or Gerlitz
     [not found]                             ` <CAJ3xEMgnmZD8ONJcnor__eioMtfaO6MYMKfd6nbXncaWYXTG+g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-20 21:09                               ` Or Gerlitz
     [not found]                                 ` <CAJ3xEMi9uBB0fFqGj4nUOdYYezLzF135TLH-sswQ0G5hZQvAkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-21 14:22                                   ` Or Gerlitz
     [not found]                                     ` <54466C39.4070402-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-21 14:26                                       ` Or Gerlitz
2014-10-21 21:11                                       ` Minh Duc Tran
     [not found]                                         ` <d89b8c11-5f4f-4a70-b2de-3342c6b628a8-3RiH6ntJJkOPfaB/Gd0HpljyZtpTMMwT@public.gmane.org>
2014-10-22  4:01                                           ` Or Gerlitz
     [not found]                                             ` <54472C2A.7060407-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-22  4:29                                               ` Minh Duc Tran
     [not found]                                                 ` <340a8ae7-4597-4514-a69d-9ef0d56a7e6e-3RiH6ntJJkP8BX6JNMqfyFjyZtpTMMwT@public.gmane.org>
2014-10-22  4:54                                                   ` Or Gerlitz
2014-10-21 14:49                   ` Sagi Grimberg
2014-10-22 11:08                   ` Sagi Grimberg
  -- strict thread matches above, loose matches on Subject: below --
2014-10-14  5:19 Jayamohan Kallickal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox