From: Jakub Kicinski <kuba@kernel.org>
To: Jiri Pirko <jiri@resnulli.us>
Cc: netdev@vger.kernel.org, pabeni@redhat.com, davem@davemloft.net,
edumazet@google.com, gal@nvidia.com
Subject: Re: [patch net-next] devlink: don't take instance lock for nested handle put
Date: Fri, 13 Oct 2023 13:01:00 -0700 [thread overview]
Message-ID: <20231013130100.0d08fb97@kernel.org> (raw)
In-Reply-To: <ZSl5OS7bFsg/ahCK@nanopsycho>
On Fri, 13 Oct 2023 19:07:05 +0200 Jiri Pirko wrote:
> >> Not sure what obvious bug you mean. If you mean the parent-child
> >> lifetime change, I don't know how that would help here. I don't see how.
> >>
> >> Plus it has performance implications. When user removes SF port under
> >> instance lock, the SF itself is removed asynchonously out of the lock.
> >> You suggest to remove it synchronously holding the instance lock,
> >> correct?
> >
> >The SF is deleted by calling ->port_del() on the PF instance, correct?
>
> That or setting opstate "inactive".
The opstate also set on the port (i.e. from the PF), right?
> >> SF removal does not need that lock. Removing thousands of SFs
> >> would take much longer as currently, they are removed in parallel.
> >> You would serialize the removals for no good reason.
> >
> >First of all IDK what the removal rate you're targeting is, and what
> >is achievable under PF's lock. Handwaving "we need parallelism" without
> >data is not a serious argument.
>
> Oh there are data and there is a need. My colleagues are working
> on parallel creation/removal within mlx5 driver as we speak. What you
> suggest would be huge setback :/
The only part that needs to be synchronous is un-linking.
Once the SF is designated for destruction we can live without the link,
it's just waiting to be garbage-collected.
> >> Not sure what you mean by that. Locking is quite clear. Why weird?
> >> What's weird exactly? What do you mean by "random dependencies"?
> >>
> >> I have to say I feel we got a bit lost in the conversation.
> >
> >You have a rel object, which is refcounted, xarray with a lock, and
> >an async work for notifications.
>
> Yes. The async work for notification is something you would need anyway,
> even with object lifetime change you suggest. It's about locking order.
I don't think I would. If linking is always done under PF's lock we can
safely send any ntf.
> Please see the patchset I sent today (v3), I did put in a documentation
> describing that (3 last patches). That should make it clear.
It's unnecessarily complicated, but whatever, I'm not touching it.
next prev parent reply other threads:[~2023-10-13 20:01 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-03 7:43 [patch net-next] devlink: don't take instance lock for nested handle put Jiri Pirko
2023-10-06 1:30 ` Jakub Kicinski
2023-10-06 7:22 ` Jiri Pirko
2023-10-06 14:48 ` Jakub Kicinski
2023-10-06 17:07 ` Jiri Pirko
2023-10-06 22:14 ` Jakub Kicinski
2023-10-07 10:17 ` Jiri Pirko
2023-10-09 15:15 ` Jakub Kicinski
2023-10-09 15:37 ` Jiri Pirko
2023-10-09 16:31 ` Jakub Kicinski
2023-10-10 7:31 ` Jiri Pirko
2023-10-10 14:52 ` Jakub Kicinski
2023-10-10 15:56 ` Jiri Pirko
2023-10-10 18:16 ` Jakub Kicinski
2023-10-11 13:34 ` Jiri Pirko
2023-10-12 0:20 ` Jakub Kicinski
2023-10-12 6:14 ` Jiri Pirko
2023-10-13 15:39 ` Jakub Kicinski
2023-10-13 17:07 ` Jiri Pirko
2023-10-13 20:01 ` Jakub Kicinski [this message]
2023-10-15 11:12 ` Jiri Pirko
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=20231013130100.0d08fb97@kernel.org \
--to=kuba@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=jiri@resnulli.us \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.