From: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org> To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org Cc: infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org, ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org, roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org, target-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org Subject: [PATCH V6 2/9] mlx4, mlx5, mthca: Expose max_sge_rd correctly Date: Fri, 24 Jul 2015 11:18:26 -0500 [thread overview] Message-ID: <20150724161826.25617.39372.stgit@build2.ogc.int> (raw) In-Reply-To: <20150724161331.25617.8475.stgit-PBeJgSbIpn97NCTnQtmixQ@public.gmane.org> From: Sagi Grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> Applications must not assume that max_sge and max_sge_rd are the same, Hence expose max_sge_rd correctly as well. Reported-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org> Signed-off-by: Sagi Grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> --- drivers/infiniband/hw/mlx4/main.c | 1 + drivers/infiniband/hw/mlx5/main.c | 1 + drivers/infiniband/hw/mthca/mthca_provider.c | 1 + 3 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 8be6db8..05166b7 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@ -229,6 +229,7 @@ static int mlx4_ib_query_device(struct ib_device *ibdev, props->max_qp_wr = dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE; props->max_sge = min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg); + props->max_sge_rd = props->max_sge; props->max_cq = dev->dev->quotas.cq; props->max_cqe = dev->dev->caps.max_cqes; props->max_mr = dev->dev->quotas.mpt; diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c index 085c24b..bf27f21 100644 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -273,6 +273,7 @@ static int mlx5_ib_query_device(struct ib_device *ibdev, sizeof(struct mlx5_wqe_ctrl_seg)) / sizeof(struct mlx5_wqe_data_seg); props->max_sge = min(max_rq_sg, max_sq_sg); + props->max_sge_rd = props->max_sge; props->max_cq = 1 << MLX5_CAP_GEN(mdev, log_max_cq); props->max_cqe = (1 << MLX5_CAP_GEN(mdev, log_max_eq_sz)) - 1; props->max_mr = 1 << MLX5_CAP_GEN(mdev, log_max_mkey); diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index 93ae51d..dc2d48c 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c @@ -97,6 +97,7 @@ static int mthca_query_device(struct ib_device *ibdev, struct ib_device_attr *pr props->max_qp = mdev->limits.num_qps - mdev->limits.reserved_qps; props->max_qp_wr = mdev->limits.max_wqes; props->max_sge = mdev->limits.max_sg; + props->max_sge_rd = props->max_sge; props->max_cq = mdev->limits.num_cqs - mdev->limits.reserved_cqs; props->max_cqe = mdev->limits.max_cqes; props->max_mr = mdev->limits.num_mpts - mdev->limits.reserved_mrws; -- 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
WARNING: multiple messages have this Message-ID (diff)
From: Steve Wise <swise@opengridcomputing.com> To: dledford@redhat.com Cc: infinipath@intel.com, sagig@mellanox.com, ogerlitz@mellanox.com, roid@mellanox.com, linux-rdma@vger.kernel.org, eli@mellanox.com, target-devel@vger.kernel.org, linux-nfs@vger.kernel.org, bfields@fieldses.org Subject: [PATCH V6 2/9] mlx4, mlx5, mthca: Expose max_sge_rd correctly Date: Fri, 24 Jul 2015 11:18:26 -0500 [thread overview] Message-ID: <20150724161826.25617.39372.stgit@build2.ogc.int> (raw) In-Reply-To: <20150724161331.25617.8475.stgit@build2.ogc.int> From: Sagi Grimberg <sagig@mellanox.com> Applications must not assume that max_sge and max_sge_rd are the same, Hence expose max_sge_rd correctly as well. Reported-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Sagi Grimberg <sagig@mellanox.com> --- drivers/infiniband/hw/mlx4/main.c | 1 + drivers/infiniband/hw/mlx5/main.c | 1 + drivers/infiniband/hw/mthca/mthca_provider.c | 1 + 3 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 8be6db8..05166b7 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@ -229,6 +229,7 @@ static int mlx4_ib_query_device(struct ib_device *ibdev, props->max_qp_wr = dev->dev->caps.max_wqes - MLX4_IB_SQ_MAX_SPARE; props->max_sge = min(dev->dev->caps.max_sq_sg, dev->dev->caps.max_rq_sg); + props->max_sge_rd = props->max_sge; props->max_cq = dev->dev->quotas.cq; props->max_cqe = dev->dev->caps.max_cqes; props->max_mr = dev->dev->quotas.mpt; diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c index 085c24b..bf27f21 100644 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@ -273,6 +273,7 @@ static int mlx5_ib_query_device(struct ib_device *ibdev, sizeof(struct mlx5_wqe_ctrl_seg)) / sizeof(struct mlx5_wqe_data_seg); props->max_sge = min(max_rq_sg, max_sq_sg); + props->max_sge_rd = props->max_sge; props->max_cq = 1 << MLX5_CAP_GEN(mdev, log_max_cq); props->max_cqe = (1 << MLX5_CAP_GEN(mdev, log_max_eq_sz)) - 1; props->max_mr = 1 << MLX5_CAP_GEN(mdev, log_max_mkey); diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index 93ae51d..dc2d48c 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c @@ -97,6 +97,7 @@ static int mthca_query_device(struct ib_device *ibdev, struct ib_device_attr *pr props->max_qp = mdev->limits.num_qps - mdev->limits.reserved_qps; props->max_qp_wr = mdev->limits.max_wqes; props->max_sge = mdev->limits.max_sg; + props->max_sge_rd = props->max_sge; props->max_cq = mdev->limits.num_cqs - mdev->limits.reserved_cqs; props->max_cqe = mdev->limits.max_cqes; props->max_mr = mdev->limits.num_mpts - mdev->limits.reserved_mrws;
next prev parent reply other threads:[~2015-07-24 16:18 UTC|newest] Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-07-24 16:18 [PATCH V6 0/9] iSER support for iWARP Steve Wise 2015-07-24 16:18 ` Steve Wise [not found] ` <20150724161331.25617.8475.stgit-PBeJgSbIpn97NCTnQtmixQ@public.gmane.org> 2015-07-24 16:18 ` [PATCH V6 1/9] RDMA/iser: Limit sg tablesize and max_sectors to device fastreg max depth Steve Wise 2015-07-24 16:18 ` Steve Wise [not found] ` <20150724161820.25617.63886.stgit-PBeJgSbIpn97NCTnQtmixQ@public.gmane.org> 2015-07-24 16:41 ` Jason Gunthorpe 2015-07-24 16:41 ` Jason Gunthorpe 2015-07-24 18:40 ` Steve Wise 2015-07-24 18:40 ` Steve Wise 2015-07-24 19:14 ` Jason Gunthorpe 2015-07-26 9:58 ` Sagi Grimberg 2015-07-26 9:57 ` Sagi Grimberg 2015-07-26 9:57 ` Sagi Grimberg 2015-07-24 16:18 ` Steve Wise [this message] 2015-07-24 16:18 ` [PATCH V6 2/9] mlx4, mlx5, mthca: Expose max_sge_rd correctly Steve Wise 2015-07-24 16:18 ` [PATCH V6 3/9] ipath,qib: " Steve Wise 2015-07-24 16:18 ` Steve Wise 2015-07-24 16:18 ` [PATCH V6 4/9] svcrdma: Use max_sge_rd for destination read depths Steve Wise 2015-07-24 16:18 ` Steve Wise [not found] ` <20150724161837.25617.48584.stgit-PBeJgSbIpn97NCTnQtmixQ@public.gmane.org> 2015-07-24 18:51 ` Steve Wise 2015-07-24 18:51 ` Steve Wise 2015-07-26 9:58 ` Sagi Grimberg [not found] ` <55B4AF63.3040108-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> 2015-07-26 10:42 ` Christoph Hellwig 2015-07-26 10:42 ` Christoph Hellwig 2015-07-24 16:18 ` [PATCH V6 6/9] isert: Rename IO functions to more descriptive names Steve Wise 2015-07-24 16:18 ` Steve Wise [not found] ` <20150724161848.25617.26092.stgit-PBeJgSbIpn97NCTnQtmixQ@public.gmane.org> 2015-07-26 10:08 ` Sagi Grimberg 2015-07-26 10:08 ` Sagi Grimberg [not found] ` <55B4B190.7070305-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> 2015-07-26 10:43 ` Christoph Hellwig 2015-07-26 10:43 ` Christoph Hellwig [not found] ` <20150726104328.GB18944-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> 2015-07-26 11:00 ` Sagi Grimberg 2015-07-26 11:00 ` Sagi Grimberg 2015-07-26 15:53 ` Christoph Hellwig 2015-07-26 16:44 ` Sagi Grimberg [not found] ` <55B4BDE3.8040801-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> 2015-07-26 17:32 ` Steve Wise 2015-07-26 17:32 ` Steve Wise 2015-07-26 17:40 ` Sagi Grimberg [not found] ` <55B51B7A.8030008-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> 2015-07-26 20:15 ` Steve Wise 2015-07-26 20:15 ` Steve Wise 2015-07-26 20:17 ` Steve Wise 2015-07-26 20:17 ` Steve Wise [not found] ` <55B5404F.5040404-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org> 2015-07-27 21:45 ` Steve Wise 2015-07-27 21:45 ` Steve Wise 2015-08-03 19:32 ` Steve Wise 2015-08-03 19:32 ` Steve Wise 2015-08-04 17:26 ` Sagi Grimberg [not found] ` <55C0F5B7.4040100-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> 2015-08-04 17:44 ` Steve Wise 2015-08-04 17:44 ` Steve Wise 2015-08-05 21:23 ` Steve Wise 2015-08-05 21:23 ` Steve Wise 2015-08-06 15:37 ` Sagi Grimberg 2015-08-06 15:37 ` Sagi Grimberg [not found] ` <55C37F43.6080106-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org> 2015-08-12 22:15 ` Steve Wise 2015-08-12 22:15 ` Steve Wise 2015-08-13 13:09 ` Sagi Grimberg 2015-07-24 16:18 ` [PATCH V6 5/9] RDMA/isert: Limit read depth based on the device max_sge_rd capability Steve Wise 2015-07-24 16:18 ` [PATCH V6 7/9] isert: Use the device's max fastreg page list depth Steve Wise 2015-07-24 16:18 ` [PATCH V6 8/9] isert: Use local_dma_lkey whenever possible Steve Wise [not found] ` <20150724161859.25617.17286.stgit-PBeJgSbIpn97NCTnQtmixQ@public.gmane.org> 2015-07-24 16:49 ` Jason Gunthorpe 2015-07-24 16:49 ` Jason Gunthorpe [not found] ` <20150724164909.GB25480-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> 2015-07-24 18:41 ` Steve Wise 2015-07-24 18:41 ` Steve Wise 2015-07-24 16:19 ` [PATCH V6 9/9] isert: Support iWARP transports using FRMRs Steve Wise 2015-07-24 16:57 ` Jason Gunthorpe 2015-07-24 18:48 ` Steve Wise 2015-07-24 18:48 ` Steve Wise 2015-07-24 19:24 ` Jason Gunthorpe 2015-07-24 19:24 ` Jason Gunthorpe 2015-07-24 19:57 ` Steve Wise 2015-07-24 19:57 ` Steve Wise 2015-07-24 22:11 ` Steve Wise 2015-07-24 22:11 ` Steve Wise 2015-07-24 22:38 ` Jason Gunthorpe 2015-07-24 22:38 ` Jason Gunthorpe [not found] ` <20150724192411.GC26225-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> 2015-07-26 10:23 ` Sagi Grimberg 2015-07-26 10:23 ` Sagi Grimberg 2015-07-27 17:07 ` Jason Gunthorpe
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=20150724161826.25617.39372.stgit@build2.ogc.int \ --to=swise-7bpotxp6k4+p2yhjcf5u+vpxobypeauw@public.gmane.org \ --cc=bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org \ --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=infinipath-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \ --cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=roid-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=target-devel-u79uwXL29TY76Z2rM5mHXA@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: linkBe 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.