From: Leon Romanovsky <leon@kernel.org>
To: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Doug Ledford <dledford@redhat.com>,
Maor Gottlieb <maorg@mellanox.com>,
linux-rdma@vger.kernel.org
Subject: Re: [PATCH rdma-next 06/14] RDMA/core: Add restrack dummy ops
Date: Mon, 25 May 2020 19:23:26 +0300 [thread overview]
Message-ID: <20200525162326.GC10591@unreal> (raw)
In-Reply-To: <20200525143650.GA21729@ziepe.ca>
On Mon, May 25, 2020 at 11:36:50AM -0300, Jason Gunthorpe wrote:
> On Wed, May 13, 2020 at 12:50:26PM +0300, Leon Romanovsky wrote:
> > From: Maor Gottlieb <maorg@mellanox.com>
> >
> > When fill_res_entry is not implemented by the vendor, then we just
> > need to return 0. Reduce some code and make it more clear by
> > set dummy ops.
> >
> > Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
> > Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
> > ---
> > drivers/infiniband/core/nldev.c | 46 ++++--------------------------
> > drivers/infiniband/core/restrack.c | 13 +++++++++
> > 2 files changed, 19 insertions(+), 40 deletions(-)
> >
> > diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
> > index 8548f09746ab..8b4115bc26b2 100644
> > --- a/drivers/infiniband/core/nldev.c
> > +++ b/drivers/infiniband/core/nldev.c
> > @@ -446,22 +446,6 @@ static int fill_res_name_pid(struct sk_buff *msg,
> > return err ? -EMSGSIZE : 0;
> > }
> >
> > -static bool fill_res_entry(struct ib_device *dev, struct sk_buff *msg,
> > - struct rdma_restrack_entry *res)
> > -{
> > - if (!dev->ops.fill_res_entry)
> > - return false;
> > - return dev->ops.fill_res_entry(msg, res);
> > -}
> > -
> > -static bool fill_stat_entry(struct ib_device *dev, struct sk_buff *msg,
> > - struct rdma_restrack_entry *res)
> > -{
> > - if (!dev->ops.fill_stat_entry)
> > - return false;
> > - return dev->ops.fill_stat_entry(msg, res);
> > -}
> > -
> > static int fill_res_qp_entry(struct sk_buff *msg, bool has_cap_net_admin,
> > struct rdma_restrack_entry *res, uint32_t port)
> > {
> > @@ -515,10 +499,7 @@ static int fill_res_qp_entry(struct sk_buff *msg, bool has_cap_net_admin,
> > if (fill_res_name_pid(msg, res))
> > goto err;
> >
> > - if (fill_res_entry(dev, msg, res))
> > - goto err;
> > -
> > - return 0;
> > + return dev->ops.fill_res_entry(msg, res);
> >
> > err: return -EMSGSIZE;
> > }
> > @@ -568,10 +549,7 @@ static int fill_res_cm_id_entry(struct sk_buff *msg, bool has_cap_net_admin,
> > if (fill_res_name_pid(msg, res))
> > goto err;
> >
> > - if (fill_res_entry(dev, msg, res))
> > - goto err;
> > -
> > - return 0;
> > + return dev->ops.fill_res_entry(msg, res);
> >
> > err: return -EMSGSIZE;
> > }
> > @@ -606,10 +584,7 @@ static int fill_res_cq_entry(struct sk_buff *msg, bool has_cap_net_admin,
> > if (fill_res_name_pid(msg, res))
> > goto err;
> >
> > - if (fill_res_entry(dev, msg, res))
> > - goto err;
> > -
> > - return 0;
> > + return dev->ops.fill_res_entry(msg, res);
> >
> > err: return -EMSGSIZE;
> > }
> > @@ -641,10 +616,7 @@ static int fill_res_mr_entry(struct sk_buff *msg, bool has_cap_net_admin,
> > if (fill_res_name_pid(msg, res))
> > goto err;
> >
> > - if (fill_res_entry(dev, msg, res))
> > - goto err;
> > -
> > - return 0;
> > + return dev->ops.fill_res_entry(msg, res);
> >
> > err: return -EMSGSIZE;
> > }
> > @@ -784,15 +756,9 @@ static int fill_stat_mr_entry(struct sk_buff *msg, bool has_cap_net_admin,
> > struct ib_device *dev = mr->pd->device;
> >
> > if (nla_put_u32(msg, RDMA_NLDEV_ATTR_RES_MRN, res->id))
> > - goto err;
> > -
> > - if (fill_stat_entry(dev, msg, res))
> > - goto err;
> > -
> > - return 0;
> > + return -EMSGSIZE;
> >
> > -err:
> > - return -EMSGSIZE;
> > + return dev->ops.fill_stat_entry(msg, res);
> > }
> >
> > static int fill_stat_counter_hwcounters(struct sk_buff *msg,
> > diff --git a/drivers/infiniband/core/restrack.c b/drivers/infiniband/core/restrack.c
> > index 62fbb0ae9cb4..093b27c0bbe6 100644
> > --- a/drivers/infiniband/core/restrack.c
> > +++ b/drivers/infiniband/core/restrack.c
> > @@ -14,6 +14,17 @@
> > #include "cma_priv.h"
> > #include "restrack.h"
> >
> > +static int fill_res_dummy(struct sk_buff *msg,
> > + struct rdma_restrack_entry *entry)
> > +{
> > + return 0;
> > +}
> > +
> > +static const struct ib_device_ops restrack_dummy_ops = {
> > + .fill_res_entry = fill_res_dummy,
> > + .fill_stat_entry = fill_res_dummy,
> > +};
>
> If you are going to do this then you should do it for substantially
> everything, as we did in rdma-core. I don't want to see easy stuff
> like this half done..
>
> And this should be a broken out series or two as it really has nothing
> to do with 'raw format dumps'
Maor will be committed to do it. Can we merge this series because I see it is
an independent task?
Thanks
>
> Jason
next prev parent reply other threads:[~2020-05-25 16:23 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-13 9:50 [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
2020-05-13 9:50 ` [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface Leon Romanovsky
2020-05-25 14:24 ` Jason Gunthorpe
2020-05-25 15:25 ` Maor Gottlieb
2020-05-13 9:50 ` [PATCH mlx5-next 02/14] net/mlx5: Add support in query QP, CQ and MKEY segments Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 03/14] RDMA/core: Fix double put of resource Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 04/14] RDMA/core: Allow to override device op Leon Romanovsky
2020-05-25 14:26 ` Jason Gunthorpe
2020-05-25 16:28 ` Leon Romanovsky
2020-05-25 23:21 ` Kamal Heib
2020-05-26 5:53 ` Leon Romanovsky
2020-05-26 8:07 ` Kamal Heib
2020-05-26 9:44 ` Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 05/14] RDMA/core: Don't call fill_res_entry for PD Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 06/14] RDMA/core: Add restrack dummy ops Leon Romanovsky
2020-05-25 14:36 ` Jason Gunthorpe
2020-05-25 16:23 ` Leon Romanovsky [this message]
2020-05-13 9:50 ` [PATCH rdma-next 07/14] RDMA: Add dedicated MR resource tracker function Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 08/14] RDMA: Add a dedicated CQ " Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 09/14] RDMA: Add a dedicated QP " Leon Romanovsky
2020-05-25 14:34 ` Jason Gunthorpe
2020-05-25 16:26 ` Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 10/14] RDMA: Add dedicated cm id " Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 11/14] RDMA: Add support to dump resource tracker in RAW format Leon Romanovsky
2020-05-25 14:41 ` Jason Gunthorpe
2020-05-25 16:21 ` Leon Romanovsky
2020-05-27 6:14 ` Maor Gottlieb
2020-05-13 9:50 ` [PATCH rdma-next 12/14] RDMA/mlx5: Add support to get QP resource in raw format Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 13/14] RDMA/mlx5: Add support to get CQ resource in RAW format Leon Romanovsky
2020-05-13 9:50 ` [PATCH rdma-next 14/14] RDMA/mlx5: Add support to get MR " Leon Romanovsky
2020-05-25 14:50 ` Jason Gunthorpe
2020-05-13 10:15 ` [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
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=20200525162326.GC10591@unreal \
--to=leon@kernel.org \
--cc=dledford@redhat.com \
--cc=jgg@ziepe.ca \
--cc=linux-rdma@vger.kernel.org \
--cc=maorg@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 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.