All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: "Saleem, Shiraz" <shiraz.saleem@intel.com>
Cc: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"jgg@ziepe.ca" <jgg@ziepe.ca>,
	"Ismail, Mustafa" <mustafa.ismail@intel.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"nhorman@redhat.com" <nhorman@redhat.com>,
	"sassmann@redhat.com" <sassmann@redhat.com>
Subject: Re: [RFC PATCH v5 12/16] RDMA/irdma: Add miscellaneous utility definitions
Date: Tue, 21 Apr 2020 10:30:44 +0300	[thread overview]
Message-ID: <20200421073044.GI121146@unreal> (raw)
In-Reply-To: <9DD61F30A802C4429A01CA4200E302A7DCD485B7@fmsmsx124.amr.corp.intel.com>

On Tue, Apr 21, 2020 at 12:27:28AM +0000, Saleem, Shiraz wrote:
> > Subject: Re: [RFC PATCH v5 12/16] RDMA/irdma: Add miscellaneous utility
> > definitions
> >
> > On Fri, Apr 17, 2020 at 10:12:47AM -0700, Jeff Kirsher wrote:
> > > From: Mustafa Ismail <mustafa.ismail@intel.com>
> > >
> > > Add miscellaneous utility functions and headers.
> > >
> > > Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
> > > Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
> > > ---
> > >  drivers/infiniband/hw/irdma/osdep.h  |  105 ++
> > >  drivers/infiniband/hw/irdma/protos.h |   93 +
> > >  drivers/infiniband/hw/irdma/status.h |   69 +
> > >  drivers/infiniband/hw/irdma/utils.c  | 2445
> > > ++++++++++++++++++++++++++
> > >  4 files changed, 2712 insertions(+)
> > >  create mode 100644 drivers/infiniband/hw/irdma/osdep.h
> > >  create mode 100644 drivers/infiniband/hw/irdma/protos.h
> > >  create mode 100644 drivers/infiniband/hw/irdma/status.h
> > >  create mode 100644 drivers/infiniband/hw/irdma/utils.c
> > >
> > > diff --git a/drivers/infiniband/hw/irdma/osdep.h
> > > b/drivers/infiniband/hw/irdma/osdep.h
> > > new file mode 100644
> > > index 000000000000..23ddfb8e9568
> > > --- /dev/null
> > > +++ b/drivers/infiniband/hw/irdma/osdep.h
> > > @@ -0,0 +1,105 @@
> > > +/* SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB */
> > > +/* Copyright (c) 2015 - 2019 Intel Corporation */ #ifndef
> > > +IRDMA_OSDEP_H #define IRDMA_OSDEP_H
> > > +
> > > +#include <linux/version.h>
> >
> > Why is that?
> Not needed. Thanks!
>
> >
> > > +#define irdma_debug_buf(dev, prefix, desc, buf, size)	\
> > > +	print_hex_dump_debug(prefix ": " desc " ",	\
> > > +			     DUMP_PREFIX_OFFSET,	\
> > > +			     16, 8, buf, size, false)
> > > +
> >
> > I think that it can be beneficial to be as ibdev_print_buf().
>
> Macro itself looks a little weird since dev is not used and needs to be fixed.
> I wonder why there isn't a struct device ver. of this print buf
> to start with.
>
> [...]
>
> > > +	IRDMA_ERR_BAD_STAG			= -66,
> > > +	IRDMA_ERR_CQ_COMPL_ERROR		= -67,
> > > +	IRDMA_ERR_Q_DESTROYED			= -68,
> > > +	IRDMA_ERR_INVALID_FEAT_CNT		= -69,
> > > +	IRDMA_ERR_REG_CQ_FULL			= -70,
> > > +	IRDMA_ERR_VF_MSG_ERROR			= -71,
> > > +};
> >
> > Please don't do vertical space alignment in all the places
>
> vertically aligning groups of defines that are related or enum constants
> look more readable.
>
> +       IRDMA_ERR_BAD_STAG = -66,
> +       IRDMA_ERR_CQ_COMPL_ERROR = -67,
> +       IRDMA_ERR_Q_DESTROYED = -68,
> +       IRDMA_ERR_INVALID_FEAT_CNT = -69,
> +       IRDMA_ERR_REG_CQ_FULL = -70,
> +       IRDMA_ERR_VF_MSG_ERROR = -71,
>
> This looks less readable IMHO.

It works well until you need some ridiculous long name to introduce,
for example https://lore.kernel.org/linux-rdma/20200413141538.935574-8-leon@kernel.org

>
> >
> > > +#endif /* IRDMA_STATUS_H */
> > > diff --git a/drivers/infiniband/hw/irdma/utils.c
> > > b/drivers/infiniband/hw/irdma/utils.c
> > > new file mode 100644
> > > index 000000000000..be46d672afc5
> > > --- /dev/null
> > > +++ b/drivers/infiniband/hw/irdma/utils.c
> > > @@ -0,0 +1,2445 @@
> > > +// SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
> > > +/* Copyright (c) 2015 - 2019 Intel Corporation */ #include
> > > +<linux/mii.h> #include <linux/in.h> #include <linux/init.h> #include
> > > +<asm/irq.h> #include <asm/byteorder.h> #include <net/neighbour.h>
> > > +#include "main.h"
> > > +
> > > +/**
> > > + * irdma_arp_table -manage arp table
> > > + * @rf: RDMA PCI function
> > > + * @ip_addr: ip address for device
> > > + * @ipv4: IPv4 flag
> > > + * @mac_addr: mac address ptr
> > > + * @action: modify, delete or add
> > > + */
> > > +int irdma_arp_table(struct irdma_pci_f *rf, u32 *ip_addr, bool ipv4,
> > > +		    u8 *mac_addr, u32 action)
> >
> > ARP table in the RDMA driver looks strange, I see that it is legacy from i40iw, but
> > wonder if it is the right thing to do the same for the new driver.
> >
>
> See response in Patch #1.

OK, let's me rephrase the question.
Why can't you use arp_tbl from include/net/arp.h and need
to implement it in the RDMA driver?

Thanks

  reply	other threads:[~2020-04-21  7:30 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-17 17:12 [RFC PATCH v5 00/16] Add Intel Ethernet Protocol Driver for RDMA (irdma) Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 01/16] RDMA/irdma: Add driver framework definitions Jeff Kirsher
2020-04-17 19:34   ` Leon Romanovsky
2020-04-21  0:23     ` Saleem, Shiraz
2020-04-21  0:46       ` Jason Gunthorpe
2020-04-21 18:19         ` Saleem, Shiraz
2020-04-21 18:22           ` Jason Gunthorpe
2020-04-23  0:32             ` Saleem, Shiraz
2020-04-23 15:02               ` Jason Gunthorpe
2020-04-23 17:15                 ` Saleem, Shiraz
2020-04-23 19:03                   ` Jason Gunthorpe
2020-04-23 23:54                     ` Saleem, Shiraz
2020-04-24  0:48                       ` Jason Gunthorpe
2020-04-27 23:57                         ` Saleem, Shiraz
2020-04-28  0:03                           ` Jason Gunthorpe
2020-04-21  7:14       ` Leon Romanovsky
2020-04-17 19:37   ` Jason Gunthorpe
2020-04-17 17:12 ` [RFC PATCH v5 02/16] RDMA/irdma: Implement device initialization definitions Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 03/16] RDMA/irdma: Implement HW Admin Queue OPs Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 04/16] RDMA/irdma: Add HMC backing store setup functions Jeff Kirsher
2020-04-17 20:17   ` Leon Romanovsky
2020-04-21  0:25     ` Saleem, Shiraz
2020-04-17 17:12 ` [RFC PATCH v5 05/16] RDMA/irdma: Add privileged UDA queue implementation Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 06/16] RDMA/irdma: Add QoS definitions Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 07/16] RDMA/irdma: Add connection manager Jeff Kirsher
2020-04-17 20:23   ` Leon Romanovsky
2020-04-21  0:26     ` Saleem, Shiraz
2020-04-21  7:33       ` Leon Romanovsky
2020-04-17 17:12 ` [RFC PATCH v5 08/16] RDMA/irdma: Add PBLE resource manager Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 09/16] RDMA/irdma: Implement device supported verb APIs Jeff Kirsher
2020-04-17 19:59   ` Leon Romanovsky
2020-04-21  0:29     ` Saleem, Shiraz
2020-04-21  7:16       ` Leon Romanovsky
2020-04-17 17:12 ` [RFC PATCH v5 10/16] RDMA/irdma: Add RoCEv2 UD OP support Jeff Kirsher
2020-04-17 19:46   ` Leon Romanovsky
2020-04-21  0:27     ` Saleem, Shiraz
2020-04-17 17:12 ` [RFC PATCH v5 11/16] RDMA/irdma: Add user/kernel shared libraries Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 12/16] RDMA/irdma: Add miscellaneous utility definitions Jeff Kirsher
2020-04-17 20:32   ` Leon Romanovsky
2020-04-21  0:27     ` Saleem, Shiraz
2020-04-21  7:30       ` Leon Romanovsky [this message]
2020-04-22  0:02         ` Saleem, Shiraz
2020-04-22  0:06           ` Jason Gunthorpe
2020-04-23  0:32             ` Saleem, Shiraz
2020-04-17 17:12 ` [RFC PATCH v5 13/16] RDMA/irdma: Add dynamic tracing for CM Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 14/16] RDMA/irdma: Add ABI definitions Jeff Kirsher
2020-04-17 19:43   ` Leon Romanovsky
2020-04-21  0:29     ` Saleem, Shiraz
2020-04-21  7:22       ` Leon Romanovsky
2020-04-17 17:12 ` [RFC PATCH v5 15/16] RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw Jeff Kirsher
2020-04-17 17:12 ` [RFC PATCH v5 16/16] RDMA/irdma: Update MAINTAINERS file Jeff Kirsher

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=20200421073044.GI121146@unreal \
    --to=leon@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mustafa.ismail@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=sassmann@redhat.com \
    --cc=shiraz.saleem@intel.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.