Subject: Re: [RFC PATCH v5 01/16] RDMA/irdma: Add driver framework definitions

From: Leon Romanovsky <[email-masked]>
Date: Tue, 21 Apr 2020 10:14:01 +0300

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 <[email-masked]>
> > >
> > > 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 <[email-masked]>
> > > Signed-off-by: Shiraz Saleem <[email-masked]>
> > > ---
> > >  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.

I think that I saw those dev_ prints in all flows and not in
initialization only. Anyway like Jason said below, it is better to fix
set_name to be sure that it exists as early as possible.

Thanks