Subject: Re: [PATCH v5 06/22] i40e: Register auxiliary devices to provide RDMA

From: Leon Romanovsky <[email-masked]>
Date: Wed, 19 May 2021 18:43:24 +0300

On Wed, May 19, 2021 at 10:43:49AM -0300, Jason Gunthorpe wrote:
> On Wed, May 19, 2021 at 03:51:46PM +0300, Leon Romanovsky wrote:
> > On Fri, May 14, 2021 at 09:11:58AM -0500, Shiraz Saleem wrote:
> > > Convert i40e to use the auxiliary bus infrastructure to export
> > > the RDMA functionality of the device to the RDMA driver.
> > > Register i40e client auxiliary RDMA device on the auxiliary bus per
> > > PCIe device function for the new auxiliary rdma driver (irdma) to
> > > attach to.
> > > 
> > > The global i40e_register_client and i40e_unregister_client symbols
> > > will be obsoleted once irdma replaces i40iw in the kernel
> > > for the X722 device.
> > > 
> > > Signed-off-by: Shiraz Saleem <[email-masked]>
> > >  drivers/net/ethernet/intel/Kconfig            |   1 +
> > >  drivers/net/ethernet/intel/i40e/i40e.h        |   2 +
> > >  drivers/net/ethernet/intel/i40e/i40e_client.c | 152 ++++++++++++++++++++++----
> > >  drivers/net/ethernet/intel/i40e/i40e_main.c   |   1 +
> > >  4 files changed, 136 insertions(+), 20 deletions(-)
> > 
> > The amount of obfuscation in this driver is astonishing.
> > 
> > I would expect that after this series, the i40e_client_add_*() would
> > be cleaned, for example simple grep of I40E_CLIENT_VERSION_MAJOR
> > shows that i40e_register_client() still have no-go code.
> 
> While it would be nice to see i40e fully cleaned I think we agreed to
> largely ignore it as-is so long as the new driver's aux implementation
> was sane.

It is hard to say, the code is so obfuscated with many layers in between.

For example, I tried to follow where and how they use IDA index that is used
in aux device creation and went lost. Sometimes they take it from PF, sometimes
from the client from different allocation pool.

If client logic goes, we will see less code which should be similar for
netdev and RDMA. It is not the case now.

Thanks

> Jason