RE: [PATCH 07/22] RDMA/irdma: Register an auxiliary driver and implement private channel OPs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Sent: Monday, January 25, 2021 4:48 PM
> To: Saleem, Shiraz <shiraz.saleem@xxxxxxxxx>
> Cc: Leon Romanovsky <leon@xxxxxxxxxx>; dledford@xxxxxxxxxx;
> kuba@xxxxxxxxxx; davem@xxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx;
> gregkh@xxxxxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; Ertman, David M
> <david.m.ertman@xxxxxxxxx>; Nguyen, Anthony L
> <anthony.l.nguyen@xxxxxxxxx>; Ismail, Mustafa <mustafa.ismail@xxxxxxxxx>;
> Keller, Jacob E <jacob.e.keller@xxxxxxxxx>; jiri@xxxxxxxxxx; Samudrala, Sridhar
> <sridhar.samudrala@xxxxxxxxx>; Williams, Dan J <dan.j.williams@xxxxxxxxx>
> Subject: Re: [PATCH 07/22] RDMA/irdma: Register an auxiliary driver and
> implement private channel OPs
> 
> On Tue, Jan 26, 2021 at 12:39:53AM +0000, Saleem, Shiraz wrote:
> > > Subject: Re: [PATCH 07/22] RDMA/irdma: Register an auxiliary driver and
> > > implement private channel OPs
> > >
> > > On Sun, Jan 24, 2021 at 03:45:51PM +0200, Leon Romanovsky wrote:
> > > > On Fri, Jan 22, 2021 at 05:48:12PM -0600, Shiraz Saleem wrote:
> > > > > From: Mustafa Ismail <mustafa.ismail@xxxxxxxxx>
> > > > >
> > > > > Register irdma as an auxiliary driver which can attach to auxiliary
> > > > > RDMA devices from Intel PCI netdev drivers i40e and ice. Implement
> > > > > the private channel ops, add basic devlink support in the driver and
> > > > > register net notifiers.
> > > >
> > > > Devlink part in "the RDMA client" is interesting thing.
> > > >
> > > > The idea behind auxiliary bus was that PCI logic will stay at one
> > > > place and devlink considered as the tool to manage that.
> > >
> > > Yes, this doesn't seem right, I don't think these auxiliary bus objects should
> have
> > > devlink instances, or at least someone from devlink land should approve of
> the
> > > idea.
> > >
> >
> > In our model, we have one auxdev (for RDMA) per PCI device function
> > owned by netdev driver and one devlink instance per auxdev. Plus
> > there is an Intel netdev driver for each HW generation.  Moving the
> > devlink logic to the PCI netdev driver would mean duplicating the
> > same set of RDMA params in each Intel netdev driver. Additionally,
> > plumbing RDMA specific params in the netdev driver sort of seems
> > misplaced to me.
> 
> That's because it is not supposed to be "the netdev driver" but the
> shared physical PCI function driver, and devlink is a shared part of
> the PCI function.

Well, at least in Intel ice driver case, we have multiple PCI functions, and each function gets its own devlink (as opposed to a single devlink instance). There's no separation between the netdev driver and the PCI function driver today.

> 
> > devlink is on a per 'struct device' object right? Should we be
> > limiting ourselves in its usage to only the PCI driver and PCI dev?
> > And not other devices like auxdev?
> 
> The devlink should not be created on the aux device, devlink should be
> created against PCI functions.
> 
> It is important to follow establish convention here, otherwise it is a
> user mess to know what to do
> 
> Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux