On Sun, May 31, 2020 at 12:54:14PM +0300, Leon Romanovsky wrote: > On Fri, May 29, 2020 at 08:31:21PM -0300, Jason Gunthorpe wrote: > > On Wed, May 27, 2020 at 04:54:08PM +0300, Leon Romanovsky wrote: > > > From: Maor Gottlieb <maorg@xxxxxxxxxxxx> > > > > > > Add support to get MR (mkey) resource dump in RAW format. > > > > > > Signed-off-by: Maor Gottlieb <maorg@xxxxxxxxxxxx> > > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > > drivers/infiniband/hw/mlx5/restrack.c | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/infiniband/hw/mlx5/restrack.c b/drivers/infiniband/hw/mlx5/restrack.c > > > index 9e1389b8dd9f..834886536127 100644 > > > +++ b/drivers/infiniband/hw/mlx5/restrack.c > > > @@ -116,7 +116,8 @@ int mlx5_ib_fill_res_mr_entry(struct sk_buff *msg, > > > struct nlattr *table_attr; > > > > > > if (raw) > > > - return -EOPNOTSUPP; > > > + return fill_res_raw(msg, mr->dev, MLX5_SGMT_TYPE_PRM_QUERY_MKEY, > > > + mlx5_mkey_to_idx(mr->mmkey.key)); > > > > None of the raw functions actually share any code with the non raw > > part, why are the in the same function? In fact all the implemenations > > just call some other function for raw. > > > > To me this looks like they should should all be a new op > > 'fill_raw_res_mr_entry' and drop the 'bool' > > I don't think that this is right approach, we already created ops per-objects > o remove API multiplexing. Extra de-duplication will create too much ops > without any real benefit. If there is no code sharing then they should not be in the same function at all. More ops is not really a problem. Jason