From: Saeed Mahameed <saeed@kernel.org>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Stanislav Fomichev <stfomichev@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
Saeed Mahameed <saeedm@nvidia.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>,
Dragos Tatulea <dtatulea@nvidia.com>
Subject: Re: [net-next 10/11] net/mlx5e: Implement queue mgmt ops and single channel swap
Date: Thu, 23 Jan 2025 19:11:23 -0800 [thread overview]
Message-ID: <Z5ME2-zHJq6arJC8@x130> (raw)
In-Reply-To: <20250123165553.66f9f839@kernel.org>
On 23 Jan 16:55, Jakub Kicinski wrote:
>On Thu, 23 Jan 2025 16:39:05 -0800 Stanislav Fomichev wrote:
>> > > What technical debt accrued ? I haven't seen any changes in queue API since
>> > > bnxt and gve got merged, what changed since then ?
>> > >
>> > > mlx5 doesn't require rtnl if this is because of the assert, I can remove
>> > > it. I don't understand what this series is being deferred for, please
>> > > elaborate, what do I need to do to get it accepted ?
>> >
>> > Remove the dependency on rtnl_lock _in the core kernel_.
>>
>> IIUC, we want queue API to move away from rtnl and use only (new) netdev
>> lock. Otherwise, removing this dependency in the future might be
>> complicated.
>
>Correct. We only have one driver now which reportedly works (gve).
>Let's pull queues under optional netdev_lock protection.
>Then we can use queue mgmt op support as a carrot for drivers
>to convert / test the netdev_lock protection... "compliance".
>
>I added netdev_lock protection for NAPI before the merge window.
>Queues are configured in much more ad-hoc fashion, so I think
>the best way to make queue changes netdev_lock safe would be to
>wrap all driver ops which are currently under rtnl_lock with
>netdev_lock.
Are you expecting drivers to hold netdev_lock internally?
I was thinking something more scalable, queue_mgmt API to take
netdev_lock, and any other place in the stack that can access
"netdev queue config" e.g ethtool/netlink/netdev_ops should grab
netdev_lock as well, this is better for the future when we want to
reduce rtnl usage in the stack to protect single netdev ops where
netdev_lock will be sufficient, otherwise you will have to wait for ALL
drivers to properly use netdev_lock internally to even start thinking of
getting rid of rtnl from some parts of the core stack.
next prev parent reply other threads:[~2025-01-24 3:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-16 21:55 [pull request][net-next 00/11] mlx5 updates 2025-01-16 Saeed Mahameed
2025-01-16 21:55 ` [net-next 01/11] net: Kconfig NET_DEVMEM selects GENERIC_ALLOCATOR Saeed Mahameed
2025-01-16 21:55 ` [net-next 02/11] net/mlx5e: SHAMPO: Reorganize mlx5_rq_shampo_alloc Saeed Mahameed
2025-01-16 21:55 ` [net-next 03/11] net/mlx5e: SHAMPO: Remove redundant params Saeed Mahameed
2025-01-16 21:55 ` [net-next 04/11] net/mlx5e: SHAMPO: Improve hw gro capability checking Saeed Mahameed
2025-01-16 21:55 ` [net-next 05/11] net/mlx5e: SHAMPO: Separate pool for headers Saeed Mahameed
2025-01-16 21:55 ` [net-next 06/11] net/mlx5e: SHAMPO: Headers page pool stats Saeed Mahameed
2025-01-16 21:55 ` [net-next 07/11] net/mlx5e: Convert over to netmem Saeed Mahameed
2025-02-05 20:14 ` Mina Almasry
2025-04-09 12:40 ` Dragos Tatulea
2025-01-16 21:55 ` [net-next 08/11] net/mlx5e: Handle iov backed netmems Saeed Mahameed
2025-01-16 21:55 ` [net-next 09/11] net/mlx5e: Add support for UNREADABLE netmem page pools Saeed Mahameed
2025-01-16 21:55 ` [net-next 10/11] net/mlx5e: Implement queue mgmt ops and single channel swap Saeed Mahameed
2025-01-16 23:21 ` Jakub Kicinski
2025-01-16 23:46 ` Saeed Mahameed
2025-01-16 23:54 ` Jakub Kicinski
2025-01-24 0:39 ` Stanislav Fomichev
2025-01-24 0:55 ` Jakub Kicinski
2025-01-24 3:11 ` Saeed Mahameed [this message]
2025-01-24 15:26 ` Jakub Kicinski
2025-01-24 19:34 ` Saeed Mahameed
2025-01-27 19:27 ` Jakub Kicinski
2025-01-16 21:55 ` [net-next 11/11] net/mlx5e: Support ethtool tcp-data-split settings 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=Z5ME2-zHJq6arJC8@x130 \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=dtatulea@nvidia.com \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=stfomichev@gmail.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).