All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Saeed Mahameed <saeedm@mellanox.com>
Cc: "sridhar.samudrala@intel.com" <sridhar.samudrala@intel.com>,
	Aya Levin <ayal@mellanox.com>,
	"andrew.gospodarek@broadcom.com" <andrew.gospodarek@broadcom.com>,
	"sburla@marvell.com" <sburla@marvell.com>,
	"jiri@resnulli.us" <jiri@resnulli.us>,
	Tariq Toukan <tariqt@mellanox.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Vlad Buslov <vladbu@mellanox.com>,
	"lihong.yang@intel.com" <lihong.yang@intel.com>,
	Ido Schimmel <idosch@mellanox.com>, "jgg@ziepe.ca" <jgg@ziepe.ca>,
	"fmanlunas@marvell.com" <fmanlunas@marvell.com>,
	"oss-drivers@netronome.com" <oss-drivers@netronome.com>,
	"leon@kernel.org" <leon@kernel.org>,
	Parav Pandit <parav@mellanox.com>,
	"grygorii.strashko@ti.com" <grygorii.strashko@ti.com>,
	"michael.chan@broadcom.com" <michael.chan@broadcom.com>,
	Alex Vesker <valex@mellanox.com>,
	"snelson@pensando.io" <snelson@pensando.io>,
	"linyunsheng@huawei.com" <linyunsheng@huawei.com>,
	"magnus.karlsson@intel.com" <magnus.karlsson@intel.com>,
	"dchickles@marvell.com" <dchickles@marvell.com>,
	"jacob.e.keller@intel.com" <jacob.e.keller@intel.com>,
	Moshe Shemesh <moshe@mellanox.com>,
	Mark Zhang <markz@mellanox.com>,
	"aelior@marvell.com" <aelior@marvell.com>,
	Yuval Avnery <yuvalav@mellanox.com>,
	"drivers@pensando.io" <drivers@pensando.io>,
	mlxsw <mlxsw@mellanox.com>,
	"GR-everest-linux-l2@marvell.com"
	<GR-everest-linux-l2@marvell.com>,
	Yevgeny Kliteynik <kliteyn@mellanox.com>,
	"vikas.gupta@broadcom.com" <vikas.gupta@broadcom.com>,
	Eran Ben Elisha <eranbe@mellanox.com>
Subject: Re: [RFC] current devlink extension plan for NICs
Date: Fri, 27 Mar 2020 13:42:37 -0700	[thread overview]
Message-ID: <20200327134237.00c21329@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> (raw)
In-Reply-To: <ea8a8434b1db2b692489edfd4abbc2274a77228c.camel@mellanox.com>

On Fri, 27 Mar 2020 19:45:53 +0000 Saeed Mahameed wrote:
> On Fri, 2020-03-27 at 12:10 -0700, Jakub Kicinski wrote:
> > On Fri, 27 Mar 2020 11:49:10 -0700 Samudrala, Sridhar wrote:  
> > > On 3/27/2020 9:38 AM, Jakub Kicinski wrote:  
> > > > On Fri, 27 Mar 2020 08:47:36 +0100 Jiri Pirko wrote:    
> > > > > > So the queues, interrupts, and other resources are also part
> > > > > > of the slice then?    
> > > > > 
> > > > > Yep, that seems to make sense.
> > > > >    
> > > > > > How do slice parameters like rate apply to NVMe?    
> > > > > 
> > > > > Not really.
> > > > >    
> > > > > > Are ports always ethernet? and slices also cover endpoints
> > > > > > with
> > > > > > transport stack offloaded to the NIC?    
> > > > > 
> > > > > devlink_port now can be either "ethernet" or "infiniband".
> > > > > Perhaps,
> > > > > there can be port type "nve" which would contain only some of
> > > > > the
> > > > > config options and would not have a representor "netdev/ibdev"
> > > > > linked.
> > > > > I don't know.    
> > > > 
> > > > I honestly find it hard to understand what that slice abstraction
> > > > is,
> > > > and which things belong to slices and which to PCI ports (or why
> > > > we even
> > > > have them).    
> > > 
> > > Looks like slice is a new term for sub function and we can consider
> > > this
> > > as a VMDQ VSI(intel terminology) or even a Queue group of a VSI.
> > > 
> > > Today we expose VMDQ VSI via offloaded MACVLAN. This mechanism
> > > should 
> > > allow us to expose it as a separate netdev.  
> > 
> > Kinda. Looks like with the new APIs you guys will definitely be able
> > to
> > expose VMDQ as a full(er) device, and if memory serves me well that's
> > what you wanted initially.
> 
> VMDQ is just a steering based isolated set of rx tx rings pointed at by
> a dumb steering rule in the HW .. i am not sure we can just wrap them
> in their own vendor specific netdev and just call it a slice..
> 
> from what i understand, a real slice is a full isolated HW pipeline
> with its own HW resources and HW based isolation, a slice rings/hw
> resources can never be shared between different slices, just like a vf,
> but without the pcie virtual function back-end..
> 
> Why would you need a devlink slice instance for something that has only
> rx/tx rings attributes ? if we are going with such design, then i guess
> a simple rdma app with a pair of QPs can call itself a slice .. 

Ack, I'm not sure where Intel is, but I'd hope since VMDq in its
"just a bunch of queues with dumb steering" form was created in
igb/ixgbe days, 2 generations of HW later its not just that..

> We need a clear-cut definition of what a Sub-function slice is.. this
> RFC doesn't seem to address that clearly.

Definitely. I'd say we need a clear definition of (a) what a
sub-functions is, and (b) what a slice is.

> > But the sub-functions are just a subset of slices, PF and VFs also
> > have a slice associated with them.. And all those things have a port,
> > too.
> >   
> 
> PFs/VFs, might have more than one port sometimes .. 

Like I said below, right? So in that case do you think they should have
multiple slices, too, or slice per port?

> > > > With devices like NFP and Mellanox CX3 which have one PCI PF
> > > > maybe it
> > > > would have made sense to have a slice that covers multiple ports,
> > > > but
> > > > it seems the proposal is to have port to slice mapping be 1:1.
> > > > And rate
> > > > in those devices should still be per port not per slice.
> > > > 
> > > > But this keeps coming back, and since you guys are doing all the
> > > > work,
> > > > if you really really need it..    

  reply	other threads:[~2020-03-27 20:42 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-19 19:27 [RFC] current devlink extension plan for NICs Jiri Pirko
2020-03-20  3:32 ` Jakub Kicinski
2020-03-20  7:35   ` Jiri Pirko
2020-03-20 21:25     ` Jakub Kicinski
2020-03-21  9:07       ` Parav Pandit
2020-03-23 19:31         ` Jakub Kicinski
2020-03-23 22:50           ` Jason Gunthorpe
2020-03-24  3:41             ` Jakub Kicinski
2020-03-24 13:43               ` Jason Gunthorpe
2020-03-24  5:36           ` Parav Pandit
2020-03-21  9:35       ` Jiri Pirko
2020-03-23 19:21         ` Jakub Kicinski
2020-03-23 22:06           ` Jason Gunthorpe
2020-03-24  3:56             ` Jakub Kicinski
2020-03-24 13:20               ` Jason Gunthorpe
2020-03-26 14:37           ` Jiri Pirko
2020-03-26 14:43           ` Jiri Pirko
2020-03-26 14:47           ` Jiri Pirko
2020-03-26 14:51             ` Jiri Pirko
2020-03-26 20:30               ` Jakub Kicinski
2020-03-27  7:47                 ` Jiri Pirko
2020-03-27 16:38                   ` Jakub Kicinski
2020-03-27 18:49                     ` Samudrala, Sridhar
2020-03-27 19:10                       ` Jakub Kicinski
2020-03-27 19:45                         ` Saeed Mahameed
2020-03-27 20:42                           ` Jakub Kicinski [this message]
2020-03-30  9:07                             ` Parav Pandit
2020-04-08  6:10                               ` Parav Pandit
2020-03-27 20:47                           ` Samudrala, Sridhar
2020-03-27 20:59                             ` Jakub Kicinski
2020-03-30  7:09                           ` Parav Pandit
2020-03-30  7:48                     ` Parav Pandit
2020-03-30 19:36                       ` Jakub Kicinski
2020-03-31  7:45                         ` Parav Pandit
2020-03-31 17:32                           ` Jakub Kicinski
2020-04-01  7:32                             ` Parav Pandit
2020-04-01 20:12                               ` Jakub Kicinski
2020-04-02  6:16                                 ` Jiri Pirko
2020-04-08  5:10                                   ` Parav Pandit
2020-04-08  5:07                                 ` Parav Pandit
2020-04-08 16:59                                   ` Jakub Kicinski
2020-04-08 18:13                                     ` Parav Pandit
2020-04-09  2:07                                       ` Jakub Kicinski
2020-04-09  6:43                                         ` Parav Pandit
2020-03-30  5:30                   ` Parav Pandit
2020-03-26 14:59           ` Jiri Pirko
2020-03-23 23:32         ` Andy Gospodarek
2020-03-24  0:11           ` Jason Gunthorpe
2020-03-24  5:53           ` Parav Pandit
2020-03-23 21:32       ` Andy Gospodarek

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=20200327134237.00c21329@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com \
    --to=kuba@kernel.org \
    --cc=GR-everest-linux-l2@marvell.com \
    --cc=aelior@marvell.com \
    --cc=andrew.gospodarek@broadcom.com \
    --cc=ayal@mellanox.com \
    --cc=davem@davemloft.net \
    --cc=dchickles@marvell.com \
    --cc=drivers@pensando.io \
    --cc=eranbe@mellanox.com \
    --cc=fmanlunas@marvell.com \
    --cc=grygorii.strashko@ti.com \
    --cc=idosch@mellanox.com \
    --cc=jacob.e.keller@intel.com \
    --cc=jgg@ziepe.ca \
    --cc=jiri@resnulli.us \
    --cc=kliteyn@mellanox.com \
    --cc=leon@kernel.org \
    --cc=lihong.yang@intel.com \
    --cc=linyunsheng@huawei.com \
    --cc=magnus.karlsson@intel.com \
    --cc=markz@mellanox.com \
    --cc=michael.chan@broadcom.com \
    --cc=mlxsw@mellanox.com \
    --cc=moshe@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=oss-drivers@netronome.com \
    --cc=parav@mellanox.com \
    --cc=saeedm@mellanox.com \
    --cc=sburla@marvell.com \
    --cc=snelson@pensando.io \
    --cc=sridhar.samudrala@intel.com \
    --cc=tariqt@mellanox.com \
    --cc=valex@mellanox.com \
    --cc=vikas.gupta@broadcom.com \
    --cc=vladbu@mellanox.com \
    --cc=yuvalav@mellanox.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.