Re: [RFC net-next 0/8] Introducing subdev bus and devlink extension

From: Jakub Kicinski
Date: Mon Mar 04 2019 - 20:46:02 EST


On Mon, 4 Mar 2019 04:41:01 +0000, Parav Pandit wrote:
> > > $ devlink dev show
> > > pci/0000:05:00.0
> > > subdev/subdev0
> >
> > Please don't spawn devlink instances. Devlink instance is supposed to
> > represent an ASIC. If we start spawning them willy nilly for whatever
> > software construct we want to model the clarity of the ontology will suffer a
> > lot.
> Devlink devices not restricted to ASIC even though today it is
> representing ASIC for one vendor. Today for one ASIC, it already
> presents multiple devlink devices (128 or more) for PF and VFs, two
> PFs on same ASIC etc. VF is just a sub-device which is well defined
> by PCISIG, whereas sub-device is not. Sub-device do consume actual
> ASIC resources (just like PFs and VFs), Hence point-(6) of
> cover-letter indicate that the devlink capability to tell how many
> such sub-devices can be created.
>
> In above example, they are created for a given bus-device following
> existing devlink construct.

No, it's not "representing the ASIC for one vendor". It's how it works
for switches (including mlxsw) and how it was described in the original
cover letter:

Introduce devlink interface and first drivers to use it

There a is need for some userspace API that would allow to expose things
that are not directly related to any device class like net_device of
ib_device, but rather chip-wide/switch-ASIC-wide stuff.

[...]

We can deviate from the original intent if need be and dilute the
ontology. But let's be clear on the status quo, please.