From: Jakub Kicinski <kuba@kernel.org>
To: Jiri Pirko <jiri@resnulli.us>
Cc: Tariq Toukan <tariqt@nvidia.com>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Donald Hunter <donald.hunter@gmail.com>,
Jonathan Corbet <corbet@lwn.net>,
Saeed Mahameed <saeedm@nvidia.com>,
Leon Romanovsky <leon@kernel.org>, Mark Bloch <mbloch@nvidia.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, linux-rdma@vger.kernel.org,
Gal Pressman <gal@nvidia.com>, Moshe Shemesh <moshe@nvidia.com>,
Carolina Jubran <cjubran@nvidia.com>,
Cosmin Ratiu <cratiu@nvidia.com>, Jiri Pirko <jiri@nvidia.com>,
Randy Dunlap <rdunlap@infradead.org>,
Simon Horman <horms@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>
Subject: Re: [PATCH net-next V7 01/14] documentation: networking: add shared devlink documentation
Date: Tue, 3 Feb 2026 19:01:05 -0800 [thread overview]
Message-ID: <20260203190105.2cc28e71@kernel.org> (raw)
In-Reply-To: <u7uicnxkcirhacpzjimss2pqsuhbngg4ticqrz45iqchkk2ha2@t3eem6w6hhur>
On Tue, 3 Feb 2026 10:18:22 +0100 Jiri Pirko wrote:
> Tue, Feb 03, 2026 at 04:40:23AM +0100, kuba@kernel.org wrote:
> >There needs to be a note here clearly stating the the use of "shared
> >devlink instace" is a hack for legacy drivers, and new drivers should
> >have a single devlink instance for the entire device. The fact that
> >single instance is always preferred, and *more correct* must be made
> >very clear to the reader. Ideally the single instance multiple function
> >implementation would leverage the infra added here for collecting the
> >functions, however.
>
> How exactly you can have a single devlink instance for multiple PFs of a
> same device? I don't really understand how that could work, considering
> dynamic binds/unbinds of the PFs within single host and/or multiple VMs
> passing PFs to.
The same way you currently gather up the devlink instances to create
the shared instance.
> >> +The implementation uses:
> >> +
> >> +* **Faux device**: Virtual device backing the shared devlink instance
> >
> >"backing"? It isn't backing anything, its just another hack because we
> >made the mistake of tying devlink instances to $bus/$device as an id.
> >Now we need a fake device to have an identifier.
>
> Okay. I originally wanted to use an id, similar to what we have in
> the dpll. However I was forced by community to tie the instance to
> bus/device. It is how it is, any idea how to relax this bond?
Interesting! I was curious to research how we ended up here, found this:
https://lore.kernel.org/netdev/20160225225803.GA2191@nanopsycho.orion/
My reading is that Hannes was arguing against the _NAME attribute but
both _NAME and _INDEX were deleted? I think there's nothing wrong with
an index.
FWIW using devlink day to day, the bus/device is not at all useful as
an identifier. Most of code touching devlink at Meta either matches
on devlink dev info or assumes there's one instance on the system.
> >> +Similarly to other nested devlink instance relationships, devlink lock of
> >> +the shared instance should be always taken after the devlink lock of PF.
> >
> >of an instance, not a PF
>
> lock of PF devlink instance. I think that is what the text says, no?
Sorry, I was trying to flag that using PF is not necessary great cause
we may support this on other functions in the future.
next prev parent reply other threads:[~2026-02-04 3:01 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-28 11:25 [PATCH net-next V7 00/14] devlink and mlx5: Support cross-function rate scheduling Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 01/14] documentation: networking: add shared devlink documentation Tariq Toukan
2026-02-03 3:40 ` Jakub Kicinski
2026-02-03 9:18 ` Jiri Pirko
2026-02-04 3:01 ` Jakub Kicinski [this message]
2026-02-04 7:12 ` Jiri Pirko
2026-02-05 2:02 ` Jakub Kicinski
2026-02-06 10:52 ` Jiri Pirko
2026-02-07 1:50 ` Jakub Kicinski
2026-01-28 11:25 ` [PATCH net-next V7 02/14] devlink: introduce shared devlink instance for PFs on same chip Tariq Toukan
2026-02-03 3:49 ` Jakub Kicinski
2026-02-03 9:44 ` Jiri Pirko
2026-02-04 2:42 ` Jakub Kicinski
2026-02-04 7:15 ` Jiri Pirko
2026-02-05 2:06 ` Jakub Kicinski
2026-01-28 11:25 ` [PATCH net-next V7 03/14] devlink: Reverse locking order for nested instances Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 04/14] devlink: Add helpers to lock nested-in instances Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 05/14] devlink: Refactor devlink_rate_nodes_check Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 06/14] devlink: Decouple rate storage from associated devlink object Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 07/14] devlink: Add parent dev to devlink API Tariq Toukan
2026-02-03 4:00 ` Jakub Kicinski
2026-02-11 16:28 ` Cosmin Ratiu
2026-02-11 16:57 ` Jakub Kicinski
2026-01-28 11:25 ` [PATCH net-next V7 08/14] devlink: Allow parent dev for rate-set and rate-new Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 09/14] devlink: Allow rate node parents from other devlinks Tariq Toukan
2026-02-03 4:04 ` Jakub Kicinski
2026-01-28 11:25 ` [PATCH net-next V7 10/14] net/mlx5: Add a shared devlink instance for PFs on same chip Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 11/14] net/mlx5: Expose a function to clear a vport's parent Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 12/14] net/mlx5: Store QoS sched nodes in the sh_devlink Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 13/14] net/mlx5: qos: Support cross-device tx scheduling Tariq Toukan
2026-01-28 11:25 ` [PATCH net-next V7 14/14] net/mlx5: Document devlink rates Tariq Toukan
2026-02-03 4:09 ` [PATCH net-next V7 00/14] devlink and mlx5: Support cross-function rate scheduling Jakub Kicinski
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=20260203190105.2cc28e71@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=cjubran@nvidia.com \
--cc=corbet@lwn.net \
--cc=cratiu@nvidia.com \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=horms@kernel.org \
--cc=jiri@nvidia.com \
--cc=jiri@resnulli.us \
--cc=krzk@kernel.org \
--cc=leon@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=mbloch@nvidia.com \
--cc=moshe@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rdunlap@infradead.org \
--cc=saeedm@nvidia.com \
--cc=tariqt@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 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.