[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221026130741.1b8f118c@kernel.org>
Date: Wed, 26 Oct 2022 13:07:41 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Saeed Mahameed <saeed@...nel.org>
Cc: Yinjun Zhang <yinjun.zhang@...igine.com>,
Simon Horman <simon.horman@...igine.com>,
David Miller <davem@...emloft.net>,
Paolo Abeni <pabeni@...hat.com>,
Michael Chan <michael.chan@...adcom.com>,
Andy Gospodarek <andy@...yhouse.net>,
Gal Pressman <gal@...dia.com>,
Jesse Brandeburg <jesse.brandeburg@...el.com>,
Tony Nguyen <anthony.l.nguyen@...el.com>,
Edward Cree <ecree.xilinx@...il.com>,
Vladimir Oltean <vladimir.oltean@....com>,
Andrew Lunn <andrew@...n.ch>,
Nole Zhang <peng.zhang@...igine.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
oss-drivers <oss-drivers@...igine.com>
Subject: Re: [PATCH net-next 0/3] nfp: support VF multi-queues configuration
On Wed, 26 Oct 2022 15:22:21 +0100 Saeed Mahameed wrote:
> >Sorry, I thought you meant each VF creates a devlink obj. So still one devlink obj
> >and each VF registers a devlink port, right? But the configuration is supposed to
> >be done before VFs are created, it maybe not appropriate to register ports before
> >relevant VFs are created I think.
>
> Usually you create the VFs unbound, configure them and then bind them.
> otherwise a query will have to query any possible VF which for some vendors
> can be thousands ! it's better to work on created but not yet deployed vfs
And the vendors who need to configure before spawning will do what,
exactly? Let's be practical.
> >> can you provide an example of how you imagine the reosurce vf-max-queue
> >> api
> >> will look like ?
> >
> >Two options,
> >one is from VF's perspective, you need configure one by one, very straightforward:
> >```
> >pci/xxxx:xx:xx.x:
> > name max_q size 128 unit entry
> > resources:
> > name VF0 size 1 unit entry size_min 1 size_max 128 size_gran 1
> > name VF1 size 1 unit entry size_min 1 size_max 128 size_gran 1
> > ...
>
> the above semantics are really weird,
> VF0 can't be a sub-resource of max_q !
>
> sorry i can't think of a way where devlink resoruce semantics can work for
> VF resource allocation.
It's just an API section. New forms of configuration can be added.
In fact they should so we can stop having this conversation.
> Unless a VF becomes a resource and it's q_table becomes a sub resource of that
> VF, which means you will have to register each vf as a resource individually.
>
> Note that i called the resource "q_table" and not "max_queues",
> since semantically max_queues is a parameter where q_table can be looked at
> as a sub-resource of the VF, the q_table size decides the max_queues a VF
> will accept, so there you go !
Somewhere along the way you missed the other requirements to also allow
configuring guaranteed count that came from brcm as some point.
> arghh weird.. just make it an attribute for devlink port function and name it
> max_q as god intended it to be ;)
Let's not equate what fits the odd world of Melvidia FW with god.
> Fix your FW to allow changing VF maxqueue for unbound VFs if needed.
Not every device out there is all FW. Thankfully.
Powered by blists - more mailing lists