From: Nikolay Aleksandrov <razor@blackwall.org>
To: Tariq Toukan <tariqt@nvidia.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
netdev@vger.kernel.org, Paolo Abeni <pabeni@redhat.com>,
Aleksandr Loktionov <aleksandr.loktionov@intel.com>,
Alexander Lobakin <aleksander.lobakin@intel.com>,
Arthur Kiyanovski <akiyano@amazon.com>,
Daniel Zahka <daniel.zahka@gmail.com>,
David Ahern <dsahern@kernel.org>, Gal Pressman <gal@nvidia.com>,
Jiri Pirko <jiri@nvidia.com>, Jiri Pirko <jiri@resnulli.us>,
Jonathan Corbet <corbet@lwn.net>,
Leon Romanovsky <leon@kernel.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-rdma@vger.kernel.org, Mark Bloch <mbloch@nvidia.com>,
Petr Machata <petrm@nvidia.com>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>,
Ratheesh Kannoth <rkannoth@marvell.com>,
Saeed Mahameed <saeedm@nvidia.com>,
Shuah Khan <skhan@linuxfoundation.org>,
Simon Horman <horms@kernel.org>,
Vlad Dumitrescu <vdumitrescu@nvidia.com>
Subject: Re: [PATCH net-next V4 2/2] net/mlx5: implement max_sfs parameter
Date: Mon, 27 Jul 2026 23:42:18 +0300 [thread overview]
Message-ID: <amfCqlOf86Vmi02_@penguin> (raw)
In-Reply-To: <20260723082643.1870844-3-tariqt@nvidia.com>
On Thu, Jul 23, 2026 at 11:26:43AM +0300, Tariq Toukan wrote:
> From: Nikolay Aleksandrov <nikolay@nvidia.com>
>
> Implement max_sfs generic parameter to allow users to control the total
> light-weight NIC subfunctions that can be created using devlink instead
> of external vendor tools. A value of 0 will effectively disable creation
> of new subfunction devices. A warning is sent to user-space via extack
> (returning extack without error code is interpreted as a warning by
> user-space tools). The maximum value is capped at U16_MAX.
>
> Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
> Reviewed-by: David Ahern <dsahern@kernel.org>
> Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
> Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
> ---
> Documentation/networking/devlink/mlx5.rst | 7 +-
> .../mellanox/mlx5/core/lib/nv_param.c | 118 +++++++++++++++++-
> 2 files changed, 121 insertions(+), 4 deletions(-)
>
Sashiko has 2 comments:
> + data = MLX5_ADDR_OF(mnvda_reg, mnvda, configuration_item_data);
> + MLX5_SET(nv_global_pci_conf, data, per_pf_num_sf, !!ctx->val.vu32);
If max_sfs is set to 0 for a single Physical Function (PF), does this
unintentionally clear the global per_pf_num_sf bit?
The commit message and documentation indicate max_sfs applies to each PF
independently. However, clearing this global device configuration bit would
silently disable Subfunction capabilities for all other PFs on the entire
device.
Could this break Subfunction configurations on independent ports?
Answer: Yes, it does. I just tested it and it switches the config for both
PFs on a device. Somehow I missed this, and it was in earlier
reviews as well. The !!ctx->val.vu32 should just be 1.
I'm sorry for the noise, I'll fix it and queue v5.
and
Does this unconditionally overwrite any existing configuration for the
SubFunction BAR size?
When a user configures a custom log_sf_bar_size via firmware tools like
mlxconfig, and then later uses devlink to change max_sfs, it appears this
line discards any non-zero value already present in the configuration data
and forcibly replaces it with MLX5_DEFAULT_LOG_SF_BAR_SIZE.
Should this code preserve the existing log_sf_bar_size if it was already
configured?
Answer: Yes, it does and it is okay. That was intentional.
prev parent reply other threads:[~2026-07-27 20:42 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-23 8:26 [PATCH net-next V4 0/2] devlink: add generic device max_sfs parameter Tariq Toukan
2026-07-23 8:26 ` [PATCH net-next V4 1/2] " Tariq Toukan
2026-07-23 8:26 ` [PATCH net-next V4 2/2] net/mlx5: implement " Tariq Toukan
2026-07-27 20:42 ` Nikolay Aleksandrov [this message]
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=amfCqlOf86Vmi02_@penguin \
--to=razor@blackwall.org \
--cc=akiyano@amazon.com \
--cc=aleksander.lobakin@intel.com \
--cc=aleksandr.loktionov@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=corbet@lwn.net \
--cc=daniel.zahka@gmail.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=horms@kernel.org \
--cc=jiri@nvidia.com \
--cc=jiri@resnulli.us \
--cc=kuba@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=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=petrm@nvidia.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=rkannoth@marvell.com \
--cc=saeedm@nvidia.com \
--cc=skhan@linuxfoundation.org \
--cc=tariqt@nvidia.com \
--cc=vdumitrescu@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