From: Jakub Kicinski <kuba@kernel.org>
To: Paolo Abeni <pabeni@redhat.com>
Cc: davem@davemloft.net, netdev@vger.kernel.org, edumazet@google.com,
mkubecek@suse.cz, lorenzo@kernel.org
Subject: Re: [PATCH net-next 1/2] net: store netdevs in an xarray
Date: Mon, 24 Jul 2023 12:07:18 -0700 [thread overview]
Message-ID: <20230724120718.4f01113a@kernel.org> (raw)
In-Reply-To: <20230724102741.469c0e42@kernel.org>
On Mon, 24 Jul 2023 10:27:41 -0700 Jakub Kicinski wrote:
> > I still have some minor doubts WRT the 'missed device' scenario you
> > described in the commit message. What if the user-space is doing
> > 'create the new one before deleting the old one' with the assumption
> > that at least one of old/new is always reported in dumps? Is that a too
> > bold assumption?
>
> The problem is kinda theoretical in the first place because it assumes
> ifindexes got wrapped so that the new netdev comes "before" the old in
> the xarray. Which would require adding and removing 2B netdevs, assuming
> one add+remove takes 10 usec (impossibly fast), wrapping ifindex would
> take 68 years.
I guess the user space can shoot itself in the foot by selecting
the lower index for the new device explicitly.
> And if that's not enough we can make the iteration index ulong
> (i.e. something separate from ifindex as ifindex is hardwired to 31b
> by uAPI).
We can get the create, delete ordering with this or the list, but the
inverse theoretical case of delete, create ordering can't be covered.
A case where user wants to make sure at most one device is visible.
I'm not sure how much we should care about this. The basic hash table
had the very real problem of hiding devices which were there *before
and after* the dump.
Inconsistent info on devices which were created / deleted *during* the
dump seems to me like something that's best handled with notifications.
I'm not sure whether we should set the inconsistency mark on the dump
when del/add operation happened in the meantime either, as
the probability that the user space will care is minuscule.
LMK what you think.
next prev parent reply other threads:[~2023-07-24 19:07 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-22 1:42 [PATCH net-next 0/2] net: store netdevs in an xarray Jakub Kicinski
2023-07-22 1:42 ` [PATCH net-next 1/2] " Jakub Kicinski
2023-07-22 1:47 ` Jakub Kicinski
2023-07-24 8:18 ` Paolo Abeni
2023-07-24 15:41 ` Jakub Kicinski
2023-07-24 16:23 ` Paolo Abeni
2023-07-24 17:27 ` Jakub Kicinski
2023-07-24 19:07 ` Jakub Kicinski [this message]
2023-07-25 11:11 ` Paolo Abeni
2023-07-25 16:56 ` Jakub Kicinski
2023-07-25 17:54 ` Sabrina Dubroca
2023-07-25 19:45 ` Jakub Kicinski
2023-07-24 19:09 ` Leon Romanovsky
2023-07-22 1:42 ` [PATCH net-next 2/2] net: convert some netlink netdev iterators to depend on the xarray Jakub Kicinski
2023-07-24 15:28 ` [PATCH net-next 0/2] net: store netdevs in an xarray Simon Horman
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=20230724120718.4f01113a@kernel.org \
--to=kuba@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=lorenzo@kernel.org \
--cc=mkubecek@suse.cz \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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).