From: Jiri Pirko <jiri@resnulli.us>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Saeed Mahameed <saeed@kernel.org>,
Saeed Mahameed <saeedm@nvidia.com>,
"David S. Miller" <davem@davemloft.net>,
Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
Shay Drory <shayd@nvidia.com>, Moshe Shemesh <moshe@nvidia.com>
Subject: Re: [net-next 14/15] net/mlx5: Light probe local SFs
Date: Thu, 15 Jun 2023 12:51:09 +0200 [thread overview]
Message-ID: <ZIrtHZ2wrb3ZdZcB@nanopsycho> (raw)
In-Reply-To: <20230613190552.4e0cdbbf@kernel.org>
Wed, Jun 14, 2023 at 04:05:52AM CEST, kuba@kernel.org wrote:
>On Tue, 13 Jun 2023 16:32:07 -0700 Saeed Mahameed wrote:
>> On 12 Jun 10:51, Jakub Kicinski wrote:
>> >On Sat, 10 Jun 2023 21:15:57 -0700 Saeed Mahameed wrote:
>> >> I think we did talk about this, but after internal research we prefer to
>> >> avoid adding additional knobs, unless you insist :) ..
>> >> I think we already did a research and we feel that all of our users are
>> >> going to re-configure the SF anyway, so why not make all SFs start with
>> >> "blank state" ?
>> >
>> >In the container world, at least, I would have thought that the
>> >management daemon gets a full spec of the container its starting
>> >upfront. So going thru this spawn / config / futz / reset cycle
>> >is pure boilerplate pain.
>>
>> That's the point of the series. create / config / spawn.
>>
>> personally I like that the SF object is created blank, with dev handles
>> (devlink/aux) to configure it, and spawn it when ready.
>
>I think we had this discussion before, wasn't the initial proposal for SF
>along those lines? And we're slowly trending back towards ports in
>uninitialized state. It's okay, too late now.
>
>> I don't see a point of having an extra "blank state" devlink param.
>
>Yeah, the param would be worse of both worlds.
>We'll need to ensure consistency in other vendors, tho.
>
>> >What use cases are you considering? More VM-oriented?
>>
>> Mostly container oriented, and selecting the ULP stacks, e.g RDMA, VDPA,
>> virtio, netdev, etc ..
>
>Odd, okay.
>
>> >> This was the first SF aux dev to be created on the system. :/
>> >>
>> >> It's a mess ha...
>> >>
>> >> Maybe we need to set the SF aux device index the same as the user index.
>> >> But the HW/port index will always be different, otherwise we will need a map
>> >> inside the driver.
>> >
>> >It'd be best to synchronously return to the user what the ID of the
>> >allocated entity is. It should be possible with some core changes to
>> >rig up devlink to return the sfnum and port ID. But IDK about the new
>> >devlink instance :(
>>
>> I think that's possible, let me ask the team to take a shot at this..
>>
>> I am not sure I understand what you mean by "new devlink instance".
>>
>> SF creation will result in spawning two devlink handles, the SF function port of
>> on the eswitch and the SF device devlink instance..
>
>Yes, I mean "SF device devlink instance" by "new devlink instance".
>
>In theory this should all be doable with netlink. NLM_F_ECHO should
>loop all notifications back to the requester. The tricky part is
>catching the notifications, I'm guessing, because in theory the devlink
>instance spawning may be async for locking reasons? Hopefully not,
>then it's easy..
The problem is scalability. SFs could be activated in parallel, but the
cmd that is doing that holds devlink instance lock. That serializes it.
So we need to either:
1) change the devlink locking to be able to execute some of the cmds in
parallel and leave the activation sync
2) change the activation to be async and work with notifications
I like 2) better, as the 1) maze we just got out of recently :)
WDYT?
>
next prev parent reply other threads:[~2023-06-15 10:51 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-10 1:42 [pull request][net-next 00/15] mlx5 updates 2023-06-09 Saeed Mahameed
2023-06-10 1:42 ` [net-next 01/15] net/mlx5: Simplify unload all rep code Saeed Mahameed
2023-06-12 11:00 ` patchwork-bot+netdevbpf
2023-06-10 1:42 ` [net-next 02/15] net/mlx5: mlx5_ifc updates for embedded CPU SRIOV Saeed Mahameed
2023-06-10 1:42 ` [net-next 03/15] net/mlx5: Enable devlink port for embedded cpu VF vports Saeed Mahameed
2023-06-10 1:42 ` [net-next 04/15] net/mlx5: Update vport caps query/set for EC VFs Saeed Mahameed
2023-06-10 1:42 ` [net-next 05/15] net/mlx5: Add management of EC VF vports Saeed Mahameed
2023-06-10 1:42 ` [net-next 06/15] net/mlx5: Add/remove peer miss rules for EC VFs Saeed Mahameed
2023-06-10 1:42 ` [net-next 07/15] net/mlx5: Add new page type for EC VF pages Saeed Mahameed
2023-06-10 1:42 ` [net-next 08/15] net/mlx5: Use correct vport when restoring GUIDs Saeed Mahameed
2023-06-10 1:42 ` [net-next 09/15] net/mlx5: Query correct caps for min msix vectors Saeed Mahameed
2023-06-10 1:42 ` [net-next 10/15] net/mlx5: Update SRIOV enable/disable to handle EC/VFs Saeed Mahameed
2023-06-10 1:42 ` [net-next 11/15] net/mlx5: Set max number of embedded CPU VFs Saeed Mahameed
2023-06-10 1:42 ` [net-next 12/15] net/mlx5: Split function_setup() to enable and open functions Saeed Mahameed
2023-06-10 1:42 ` [net-next 13/15] net/mlx5: Move esw multiport devlink param to eswitch code Saeed Mahameed
2023-06-10 1:42 ` [net-next 14/15] net/mlx5: Light probe local SFs Saeed Mahameed
2023-06-10 7:01 ` Jakub Kicinski
2023-06-11 4:15 ` Saeed Mahameed
2023-06-11 5:10 ` Samudrala, Sridhar
2023-06-13 23:41 ` Saeed Mahameed
2023-06-12 17:51 ` Jakub Kicinski
2023-06-13 23:32 ` Saeed Mahameed
2023-06-14 2:05 ` Jakub Kicinski
2023-06-15 10:51 ` Jiri Pirko [this message]
2023-06-15 16:37 ` Jakub Kicinski
2023-06-15 17:37 ` Jiri Pirko
2023-06-15 19:33 ` Jakub Kicinski
2023-06-21 13:14 ` Jiri Pirko
2023-06-21 18:23 ` Jakub Kicinski
2023-06-22 6:42 ` Jiri Pirko
2023-06-22 6:38 ` Jiri Pirko
2023-06-22 16:35 ` Jakub Kicinski
2023-06-23 9:27 ` Jiri Pirko
2023-06-23 15:21 ` Jakub Kicinski
2023-06-24 9:33 ` Jiri Pirko
2023-06-24 20:47 ` Jakub Kicinski
2023-06-27 10:12 ` Jiri Pirko
2023-06-27 15:24 ` Jakub Kicinski
2023-06-27 17:16 ` Jiri Pirko
2023-06-27 17:35 ` Jakub Kicinski
2023-06-10 1:42 ` [net-next 15/15] net/mlx5e: Remove a useless function call Saeed Mahameed
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=ZIrtHZ2wrb3ZdZcB@nanopsycho \
--to=jiri@resnulli.us \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=moshe@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeed@kernel.org \
--cc=saeedm@nvidia.com \
--cc=shayd@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 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).