From: Jacob Keller <jacob.e.keller@intel.com>
To: Jiri Pirko <jiri@resnulli.us>, Jakub Kicinski <kuba@kernel.org>
Cc: William Tu <witu@nvidia.com>, <bodong@nvidia.com>,
<jiri@nvidia.com>, <netdev@vger.kernel.org>, <saeedm@nvidia.com>,
"aleksander.lobakin@intel.com" <aleksander.lobakin@intel.com>
Subject: Re: [RFC PATCH v3 net-next] Documentation: devlink: Add devlink-sd
Date: Thu, 15 Feb 2024 09:41:31 -0800 [thread overview]
Message-ID: <aa954911-e6c8-40f8-964c-517e2d8f8ea7@intel.com> (raw)
In-Reply-To: <Zc4Pa4QWGQegN4mI@nanopsycho>
On 2/15/2024 5:19 AM, Jiri Pirko wrote:
> Fri, Feb 09, 2024 at 02:26:33AM CET, kuba@kernel.org wrote:
>> On Fri, 2 Feb 2024 08:46:56 +0100 Jiri Pirko wrote:
>>> Fri, Feb 02, 2024 at 05:00:41AM CET, kuba@kernel.org wrote:
>>>> On Thu, 1 Feb 2024 11:13:57 +0100 Jiri Pirko wrote:
>>>>> Wait a sec.
>>>>
>>>> No, you wait a sec ;) Why do you think this belongs to devlink?
>>>> Two months ago you were complaining bitterly when people were
>>>> considering using devlink rate to control per-queue shapers.
>>>> And now it's fine to add queues as a concept to devlink?
>>>
>>> Do you have a better suggestion how to model common pool object for
>>> multiple netdevices? This is the reason why devlink was introduced to
>>> provide a platform for common/shared things for a device that contains
>>> multiple netdevs/ports/whatever. But I may be missing something here,
>>> for sure.
>>
>> devlink just seems like the lowest common denominator, but the moment
>> we start talking about multi-PF devices it also gets wobbly :(
>
> You mean you see real to have a multi-PF device that allows to share the
> pools between the PFs? If, in theory, that exists, could this just be a
> limitation perhaps?
>
>
I don't know offhand if we have a device which can share pools
specifically, but we do have multi-PF devices which have a lot of shared
resources. However, due to the multi-PF PCIe design. I looked into ways
to get a single devlink across the devices.. but ultimately got stymied
and gave up.
This left us with accepting the limitation that each PF gets its own
devlink and can't really communicate with other PFs.
The existing solution has just been to partition the shared resources
evenly across PFs, typically via firmware. No flexibility.
I do think the best solution here would be to figure out a generic way
to tie multiple functions into a single devlink representing the device.
Then each function gets the set of devlink_port objects associated to
it. I'm not entirely sure how that would work. We could hack something
together with auxbus.. but thats pretty ugly. Some sort of orchestration
in the PCI layer that could identify when a device wants to have some
sort of "parent" driver which loads once and has ties to each of the
function drivers would be ideal.
Then this parent driver could register devlink, and each function driver
could connect to it and allocate ports and function-specific resources.
Alternatively a design which loads a single driver that maintains
references to each function could work but that requires a significant
change to the entire driver design and is unlikely to be done for
existing drivers...
This is obviously a bit more of a tangential problem to this series.
next prev parent reply other threads:[~2024-02-15 17:41 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-25 4:56 [RFC PATCH v2 net-next] Documentation: devlink: Add devlink-sd William Tu
2024-01-25 21:12 ` [RFC PATCH v3 " William Tu
2024-01-25 22:36 ` William Tu
2024-01-29 10:56 ` Simon Horman
2024-01-29 22:23 ` William Tu
2024-01-31 1:07 ` Jakub Kicinski
2024-01-31 18:47 ` William Tu
2024-01-31 19:06 ` Jakub Kicinski
2024-01-31 19:16 ` William Tu
2024-01-31 20:45 ` Jakub Kicinski
2024-01-31 21:37 ` William Tu
2024-01-31 21:41 ` Jacob Keller
2024-01-31 22:30 ` Jakub Kicinski
2024-01-31 23:02 ` William Tu
2024-01-31 23:17 ` Jakub Kicinski
2024-02-01 2:23 ` Samudrala, Sridhar
2024-02-01 14:00 ` William Tu
2024-02-02 8:48 ` Michal Swiatkowski
2024-02-02 15:27 ` William Tu
2024-02-01 10:13 ` Jiri Pirko
2024-02-02 4:00 ` Jakub Kicinski
2024-02-02 7:46 ` Jiri Pirko
2024-02-09 1:26 ` Jakub Kicinski
2024-02-15 13:19 ` Jiri Pirko
2024-02-15 17:41 ` Jacob Keller [this message]
2024-02-16 2:07 ` Jakub Kicinski
2024-02-16 8:15 ` Jiri Pirko
2024-02-16 21:42 ` Jacob Keller
2024-02-16 21:47 ` Jacob Keller
2024-02-19 8:59 ` Jiri Pirko
2024-02-16 8:10 ` Jiri Pirko
2024-02-16 21:44 ` Jacob Keller
2024-02-16 1:58 ` Jakub Kicinski
2024-02-16 8:06 ` Jiri Pirko
2024-02-17 2:43 ` Jakub Kicinski
2024-02-19 9:06 ` Jiri Pirko
2024-02-20 22:17 ` Jakub Kicinski
2024-02-01 19:16 ` William Tu
2024-02-02 3:30 ` Jakub Kicinski
2024-02-02 4:26 ` William Tu
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=aa954911-e6c8-40f8-964c-517e2d8f8ea7@intel.com \
--to=jacob.e.keller@intel.com \
--cc=aleksander.lobakin@intel.com \
--cc=bodong@nvidia.com \
--cc=jiri@nvidia.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=saeedm@nvidia.com \
--cc=witu@nvidia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).