netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/7] rtnetlink: allow to run selected handlers without rtnl
@ 2017-08-08 16:02 Florian Westphal
  2017-08-08 16:02 ` [PATCH net-next 1/7] rtnetlink: call rtnl_calcit directly Florian Westphal
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Florian Westphal @ 2017-08-08 16:02 UTC (permalink / raw)
  To: netdev

The RTNL mutex is used to serialize both rtnetlink calls and dump requests.
Its also used to protect other things such as the list of current netns.

Unfortunately RTNL mutex is a performance issue, e.g. a cpu adding an
ip address prevents other cpus from seemingly unrelated tasks such as
dumping tc classifiers.

This patch set attempts to add basic infrastructure to start pushing the
rtnl lock down to those places that need it, or even elide it entirely in
some cases.

Subsystems can now indicate that their doit() callback can run without
RTNL mutex.  Such callbacks can then run in parallel.

This will obviously need a lot of followup work; all current users need
to be audited/changed to benefit from this.

Initial no-rtnl spots are ip6 fib add/del and netns new/getid.

Dumps are another problem entirely, see
commit 2907c35ff64708065 ("net: hold rtnl again in dump callbacks"),
this patchset doesn't touch them.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-08-09 16:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-08 16:02 [PATCH net-next 0/7] rtnetlink: allow to run selected handlers without rtnl Florian Westphal
2017-08-08 16:02 ` [PATCH net-next 1/7] rtnetlink: call rtnl_calcit directly Florian Westphal
2017-08-08 16:02 ` [PATCH net-next 2/7] rtnetlink: make rtnl_register accept a flags parameter Florian Westphal
2017-08-08 16:02 ` [PATCH net-next 3/7] rtnetlink: add reference counting to prevent module unload while dump is in progress Florian Westphal
2017-08-08 16:02 ` [PATCH net-next 4/7] rtnetlink: small rtnl lock pushdown Florian Westphal
2017-08-08 16:02 ` [PATCH net-next 5/7] rtnetlink: protect handler table with rcu Florian Westphal
2017-08-08 16:02 ` [PATCH net-next 6/7] rtnetlink: add and use RTNL_FLAG_DOIT_UNLOCKED Florian Westphal
2017-08-08 16:02 ` [PATCH net-next 7/7] net: call newid/getid without rtnl mutex held Florian Westphal
2017-08-09  4:33 ` [PATCH net-next 0/7] rtnetlink: allow to run selected handlers without rtnl David Miller
2017-08-09  8:19   ` Florian Westphal
2017-08-09 16:41     ` David Miller
2017-08-09 16:42     ` David Miller

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).