diff mbox

mlx4, mlx5, mthca: Expose max_sge_rd correctly

Message ID 1435601564-10830-1-git-send-email-sagig@mellanox.com (mailing list archive)
State Superseded
Headers show

Commit Message

Sagi Grimberg June 29, 2015, 6:12 p.m. UTC
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(+)

Comments

Steve Wise June 29, 2015, 6:14 p.m. UTC | #1
On 6/29/2015 1:12 PM, Sagi Grimberg wrote:
> 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>

How about I pull this into my iSER series since the iSER changes will 
depend on this?

Steve.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jason Gunthorpe June 29, 2015, 6:17 p.m. UTC | #2
On Mon, Jun 29, 2015 at 01:14:50PM -0500, Steve Wise wrote:
> 
> On 6/29/2015 1:12 PM, Sagi Grimberg wrote:
> >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>
> 
> How about I pull this into my iSER series since the iSER changes
> will depend on this?

We will need a trivial patch for ipath and qib as well

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steve Wise June 29, 2015, 7:35 p.m. UTC | #3
> -----Original Message-----
> From: linux-rdma-owner@vger.kernel.org [mailto:linux-rdma-owner@vger.kernel.org] On Behalf Of Jason Gunthorpe
> Sent: Monday, June 29, 2015 1:17 PM
> To: Steve Wise
> Cc: Sagi Grimberg; linux-rdma@vger.kernel.org; Eli Cohen; Or Gerlitz
> Subject: Re: [PATCH] mlx4, mlx5, mthca: Expose max_sge_rd correctly
> 
> On Mon, Jun 29, 2015 at 01:14:50PM -0500, Steve Wise wrote:
> >
> > On 6/29/2015 1:12 PM, Sagi Grimberg wrote:
> > >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>
> >
> > How about I pull this into my iSER series since the iSER changes
> > will depend on this?
> 
> We will need a trivial patch for ipath and qib as well
>

I'll add these.



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

Patch

diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 166da78..81c342f 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 eb938ea..2ef6f40 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -138,6 +138,7 @@  static int mlx5_ib_query_device(struct ib_device *ibdev,
 	max_sq_sg = (gen->max_sq_desc_sz - 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 << gen->log_max_cq;
 	props->max_cqe		   = gen->max_cqes - 1;
 	props->max_mr		   = 1 << gen->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;