[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200421182256.GT26002@ziepe.ca>
Date: Tue, 21 Apr 2020 15:22:56 -0300
From: Jason Gunthorpe <jgg@...pe.ca>
To: "Saleem, Shiraz" <shiraz.saleem@...el.com>
Cc: Leon Romanovsky <leon@...nel.org>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"Ismail, Mustafa" <mustafa.ismail@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"nhorman@...hat.com" <nhorman@...hat.com>,
"sassmann@...hat.com" <sassmann@...hat.com>
Subject: Re: [RFC PATCH v5 01/16] RDMA/irdma: Add driver framework definitions
On Tue, Apr 21, 2020 at 06:19:07PM +0000, Saleem, Shiraz wrote:
> > Subject: Re: [RFC PATCH v5 01/16] RDMA/irdma: Add driver framework
> > definitions
> >
> > On Tue, Apr 21, 2020 at 12:23:45AM +0000, Saleem, Shiraz wrote:
> > > > Subject: Re: [RFC PATCH v5 01/16] RDMA/irdma: Add driver framework
> > > > definitions
> > > >
> > > > On Fri, Apr 17, 2020 at 10:12:36AM -0700, Jeff Kirsher wrote:
> > > > > From: Mustafa Ismail <mustafa.ismail@...el.com>
> > > > >
> > > > > Register irdma as a virtbus driver capable of supporting virtbus
> > > > > devices from multi-generation RDMA capable Intel HW. Establish the
> > > > > interface with all supported netdev peer drivers and initialize HW.
> > > > >
> > > > > Signed-off-by: Mustafa Ismail <mustafa.ismail@...el.com>
> > > > > Signed-off-by: Shiraz Saleem <shiraz.saleem@...el.com>
> > > > > drivers/infiniband/hw/irdma/i40iw_if.c | 228 ++++++++++
> > > > > drivers/infiniband/hw/irdma/irdma_if.c | 449 ++++++++++++++++++
> > > > > drivers/infiniband/hw/irdma/main.c | 573 +++++++++++++++++++++++
> > > > > drivers/infiniband/hw/irdma/main.h | 599
> > +++++++++++++++++++++++++
> > > > > 4 files changed, 1849 insertions(+) create mode 100644
> > > > > drivers/infiniband/hw/irdma/i40iw_if.c
> > > > > create mode 100644 drivers/infiniband/hw/irdma/irdma_if.c
> > > > > create mode 100644 drivers/infiniband/hw/irdma/main.c
> > > > > create mode 100644 drivers/infiniband/hw/irdma/main.h
> > > > >
> > > >
> > > > I didn't look in too much details, but three things caught my attention
> > immediately:
> > > > 1. Existence of ARP cache management logic in RDMA driver.
> > >
> > > Our HW has an independent ARP table for the rdma block.
> > > driver needs to add an ARP table entry via an rdma admin queue command
> > > before QP transitions to RTS.
> > >
> > > > 2. Extensive use of dev_*() prints while we have ibdev_*() prints
> > > The ib device object is not available till the end of the device init
> > > similarly its unavailable early on in device deinit flows. So dev_* is
> > > all we can use in those places.
> >
> > hns guys were thinking about changing this. It looks fine to just move the name
> > assignment to the device allocation, then we don't have this weirdness
>
> Did you mean moving name setting from ib_register_device to ib_device_alloc?
> Will that work ok for how rvt is handling the names in rvt_set_ibdev_name
> and its register?
I don't see why not? rvt_set_ibdev_name is always directly after
rvt_alloc_device, which is the thing that calls ib_alloc_device
> This could migrate a lot of the dev_* to ibdev_* but there is still
> going to be a handful of dev_* usages from our HW initialization in
> irdma_prob_dev since ib device allocation is done in irdma_open.
Don't do that?
> > Alternatively, you could do as netdev does and have a special name string when
> > the name is NULL
>
> Not sure I found what your referring to.
> Did you mean similar to use of netdev_name in __netdev_printk?
Yes
Jason
Powered by blists - more mailing lists