[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZwAWQCpSbb4sn0LX@mini-arch>
Date: Fri, 4 Oct 2024 09:22:24 -0700
From: Stanislav Fomichev <stfomichev@...il.com>
To: Joe Damato <jdamato@...tly.com>, netdev@...r.kernel.org,
mkarsten@...terloo.ca, skhawaja@...gle.com, sdf@...ichev.me,
bjorn@...osinc.com, amritha.nambiar@...el.com,
sridhar.samudrala@...el.com, willemdebruijn.kernel@...il.com,
Alexander Lobakin <aleksander.lobakin@...el.com>,
Breno Leitao <leitao@...ian.org>,
Daniel Jurgens <danielj@...dia.com>,
David Ahern <dsahern@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Donald Hunter <donald.hunter@...il.com>,
Eric Dumazet <edumazet@...gle.com>,
"moderated list:INTEL ETHERNET DRIVERS" <intel-wired-lan@...ts.osuosl.org>,
Jakub Kicinski <kuba@...nel.org>,
Jesper Dangaard Brouer <hawk@...nel.org>,
Jiri Pirko <jiri@...nulli.us>,
Johannes Berg <johannes.berg@...el.com>,
Jonathan Corbet <corbet@....net>,
Kory Maincent <kory.maincent@...tlin.com>,
Leon Romanovsky <leon@...nel.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
"open list:MELLANOX MLX4 core VPI driver" <linux-rdma@...r.kernel.org>,
Lorenzo Bianconi <lorenzo@...nel.org>,
Michael Chan <michael.chan@...adcom.com>,
Mina Almasry <almasrymina@...gle.com>,
Paolo Abeni <pabeni@...hat.com>,
Przemek Kitszel <przemyslaw.kitszel@...el.com>,
Saeed Mahameed <saeedm@...dia.com>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Tariq Toukan <tariqt@...dia.com>,
Tony Nguyen <anthony.l.nguyen@...el.com>,
Xuan Zhuo <xuanzhuo@...ux.alibaba.com>
Subject: Re: [RFC net-next v4 0/9] Add support for per-NAPI config via netlink
On 10/03, Joe Damato wrote:
> On Thu, Oct 03, 2024 at 04:53:13PM -0700, Joe Damato wrote:
> > On Thu, Oct 03, 2024 at 04:29:37PM -0700, Stanislav Fomichev wrote:
> > > On 10/01, Joe Damato wrote:
> >
> > [...]
> >
> > > > 2. This revision seems to work (see below for a full walk through). Is
> > > > this the behavior we want? Am I missing some use case or some
> > > > behavioral thing other folks need?
> > >
> > > The walk through looks good!
> >
> > Thanks for taking a look.
> >
> > > > 3. Re a previous point made by Stanislav regarding "taking over a NAPI
> > > > ID" when the channel count changes: mlx5 seems to call napi_disable
> > > > followed by netif_napi_del for the old queues and then calls
> > > > napi_enable for the new ones. In this RFC, the NAPI ID generation
> > > > is deferred to napi_enable. This means we won't end up with two of
> > > > the same NAPI IDs added to the hash at the same time (I am pretty
> > > > sure).
> > >
> > >
> > > [..]
> > >
> > > > Can we assume all drivers will napi_disable the old queues before
> > > > napi_enable the new ones? If yes, we might not need to worry about
> > > > a NAPI ID takeover function.
> > >
> > > With the explicit driver opt-in via netif_napi_add_config, this
> > > shouldn't matter? When somebody gets to converting the drivers that
> > > don't follow this common pattern they'll have to solve the takeover
> > > part :-)
> >
> > That is true; that's a good point.
>
> Actually, sorry, that isn't strictly true. NAPI ID generation is
> moved for everything to napi_enable; they just are (or are not)
> persisted depending on whether the driver opted in to add_config or
> not.
>
> So, the change does affect all drivers. NAPI IDs won't be generated
> and added to the hash until napi_enable and they will be removed
> from the hash in napi_disable... even if you didn't opt-in to having
> storage.
>
> Opt-ing in to storage via netif_napi_add_config just means that your
> NAPI IDs (and other settings) will be persistent.
>
> Sorry about my confusion when replying earlier.
AFAIA, all control operations (ethtool or similar ones via netlink),
should grab rtnl lock. So as long as both enable/disable happen
under rtnl (and in my mind they should), I don't think there is gonna
be any user-visible side-effects of your change. But I might be wrong,
let's see if others can come up with some corner cases..
Powered by blists - more mailing lists