From: Leon Romanovsky <leon@kernel.org>
To: Yuval Shaia <yuval.shaia@oracle.com>
Cc: dledford@redhat.com, jgg@ziepe.ca, oulijun@huawei.com,
xavier.huwei@huawei.com, majd@mellanox.com, markz@mellanox.com,
swise@opengridcomputing.com, galpress@amazon.com,
monis@mellanox.com, israelr@mellanox.com, maxg@mellanox.com,
dan.carpenter@oracle.com, kamalheib1@gmail.com,
denisd@mellanox.com, yuvalav@mellanox.com,
dennis.dalessandro@intel.com, ereza@mellanox.com,
will@kernel.org, linux-rdma@vger.kernel.org, jgg@mellanox.com,
srabinov7@gmail.com, santosh.shilimkar@oracle.com,
Shamir Rabinovitch <shamir.rabinovitch@oracle.com>
Subject: Re: [PATCH 3/4] IB/{core,hw}: ib_pd should not have ib_uobject pointer
Date: Wed, 28 Aug 2019 11:40:45 +0300 [thread overview]
Message-ID: <20190828084045.GE4725@mtr-leonro.mtl.com> (raw)
In-Reply-To: <20190828074134.17042-4-yuval.shaia@oracle.com>
On Wed, Aug 28, 2019 at 10:41:33AM +0300, Yuval Shaia wrote:
> From: Shamir Rabinovitch <shamir.rabinovitch@oracle.com>
>
> As a preparation step to shared PD, where ib_pd object will be pointed
> by one or more ib_uobjects, remove ib_uobject pointer from ib_pd struct.
>
> Signed-off-by: Shamir Rabinovitch <shamir.rabinovitch@oracle.com>
> Signed-off-by: Shamir Rabinovitch <srabinov7@gmail.com>
> ---
> drivers/infiniband/core/uverbs_cmd.c | 1 -
> drivers/infiniband/core/verbs.c | 1 -
> drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 1 -
> drivers/infiniband/hw/mlx5/main.c | 1 -
> drivers/infiniband/hw/mthca/mthca_qp.c | 3 ++-
> include/rdma/ib_verbs.h | 1 -
> 6 files changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
> index 204a93305f1c..d1f0c04f0ae8 100644
> --- a/drivers/infiniband/core/uverbs_cmd.c
> +++ b/drivers/infiniband/core/uverbs_cmd.c
> @@ -432,7 +432,6 @@ static int ib_uverbs_alloc_pd(struct uverbs_attr_bundle *attrs)
> }
>
> pd->device = ib_dev;
> - pd->uobject = uobj;
> pd->__internal_mr = NULL;
> atomic_set(&pd->usecnt, 0);
> pd->res.type = RDMA_RESTRACK_PD;
> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
> index f974b6854224..1d0215c1a504 100644
> --- a/drivers/infiniband/core/verbs.c
> +++ b/drivers/infiniband/core/verbs.c
> @@ -263,7 +263,6 @@ struct ib_pd *__ib_alloc_pd(struct ib_device *device, unsigned int flags,
> return ERR_PTR(-ENOMEM);
>
> pd->device = device;
> - pd->uobject = NULL;
> pd->__internal_mr = NULL;
> atomic_set(&pd->usecnt, 0);
> pd->flags = flags;
> diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> index 0ff5f9617639..bd4a09b2ec1e 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v1.c
> @@ -760,7 +760,6 @@ static int hns_roce_v1_rsv_lp_qp(struct hns_roce_dev *hr_dev)
>
> free_mr->mr_free_pd = to_hr_pd(pd);
> free_mr->mr_free_pd->ibpd.device = &hr_dev->ib_dev;
> - free_mr->mr_free_pd->ibpd.uobject = NULL;
> free_mr->mr_free_pd->ibpd.__internal_mr = NULL;
> atomic_set(&free_mr->mr_free_pd->ibpd.usecnt, 0);
>
> diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
> index 98e566acb746..93db6d4c7da4 100644
> --- a/drivers/infiniband/hw/mlx5/main.c
> +++ b/drivers/infiniband/hw/mlx5/main.c
> @@ -4937,7 +4937,6 @@ static int create_dev_resources(struct mlx5_ib_resources *devr)
> return -ENOMEM;
>
> devr->p0->device = ibdev;
> - devr->p0->uobject = NULL;
> atomic_set(&devr->p0->usecnt, 0);
>
> ret = mlx5_ib_alloc_pd(devr->p0, NULL);
> diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c
> index d04c245359eb..b1a9169e3af6 100644
> --- a/drivers/infiniband/hw/mthca/mthca_qp.c
> +++ b/drivers/infiniband/hw/mthca/mthca_qp.c
> @@ -956,7 +956,8 @@ static int mthca_max_data_size(struct mthca_dev *dev, struct mthca_qp *qp, int d
> static inline int mthca_max_inline_data(struct mthca_pd *pd, int max_data_size)
> {
> /* We don't support inline data for kernel QPs (yet). */
> - return pd->ibpd.uobject ? max_data_size - MTHCA_INLINE_HEADER_SIZE : 0;
> + return !rdma_is_kernel_res(&pd->ibpd.res) ?
> + max_data_size - MTHCA_INLINE_HEADER_SIZE : 0;
> }
>
> static void mthca_adjust_qp_caps(struct mthca_dev *dev,
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index 391499008a22..7b429b2e7cf6 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -1509,7 +1509,6 @@ struct ib_pd {
> u32 local_dma_lkey;
> u32 flags;
> struct ib_device *device;
> - struct ib_uobject *uobject;
It doesn't compile, you broke nldev.c
drivers/infiniband/core/nldev.c: In function 'fill_res_pd_entry':
drivers/infiniband/core/nldev.c:638:6: error: 'struct ib_pd' has no member named 'uobject'
pd->uobject->context->res.id))
^~
> atomic_t usecnt; /* count all resources */
>
> u32 unsafe_global_rkey;
> --
> 2.20.1
>
next prev parent reply other threads:[~2019-08-28 8:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-28 7:41 [PATCH 0/4] Take out ucontext from HW objects Yuval Shaia
2019-08-28 7:41 ` [PATCH 1/4] RDMA/uverbs: uobj_get_obj_read should return the ib_uobject Yuval Shaia
2019-08-28 7:41 ` [PATCH 2/4] RDMA/uverbs: Delete the macro uobj_put_obj_read Yuval Shaia
2019-08-28 7:41 ` [PATCH 3/4] IB/{core,hw}: ib_pd should not have ib_uobject pointer Yuval Shaia
2019-08-28 8:40 ` Leon Romanovsky [this message]
2019-08-28 8:47 ` Yuval Shaia
2019-08-28 7:41 ` [PATCH 4/4] IB/core: ib_mr " Yuval Shaia
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=20190828084045.GE4725@mtr-leonro.mtl.com \
--to=leon@kernel.org \
--cc=dan.carpenter@oracle.com \
--cc=denisd@mellanox.com \
--cc=dennis.dalessandro@intel.com \
--cc=dledford@redhat.com \
--cc=ereza@mellanox.com \
--cc=galpress@amazon.com \
--cc=israelr@mellanox.com \
--cc=jgg@mellanox.com \
--cc=jgg@ziepe.ca \
--cc=kamalheib1@gmail.com \
--cc=linux-rdma@vger.kernel.org \
--cc=majd@mellanox.com \
--cc=markz@mellanox.com \
--cc=maxg@mellanox.com \
--cc=monis@mellanox.com \
--cc=oulijun@huawei.com \
--cc=santosh.shilimkar@oracle.com \
--cc=shamir.rabinovitch@oracle.com \
--cc=srabinov7@gmail.com \
--cc=swise@opengridcomputing.com \
--cc=will@kernel.org \
--cc=xavier.huwei@huawei.com \
--cc=yuval.shaia@oracle.com \
--cc=yuvalav@mellanox.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox