Thread (9 messages) 9 messages, 3 authors, 2011-05-18

Re: [PATCH net-next-2.6] net: dont hold rtnl mutex during netlink dump callbacks

From: David Miller <davem@davemloft.net>
Date: 2011-05-02 22:28:07

From: Stephen Hemminger <redacted>
Date: Thu, 28 Apr 2011 08:43:37 -0700
On Thu, 28 Apr 2011 10:56:07 +0200
Eric Dumazet [off-list ref] wrote:
quoted
Four years ago, Patrick made a change to hold rtnl mutex during netlink
dump callbacks.

I believe it was a wrong move. This slows down concurrent dumps, making
good old /proc/net/ files faster than rtnetlink in some situations.

This occurred to me because one "ip link show dev ..." was _very_ slow
on a workload adding/removing network devices in background.

All dump callbacks are able to use RCU locking now, so this patch does
roughly a revert of commits :

1c2d670f366 : [RTNETLINK]: Hold rtnl_mutex during netlink dump callbacks
6313c1e0992 : [RTNETLINK]: Remove unnecessary locking in dump callbacks

This let writers fight for rtnl mutex and readers going full speed.

It also takes care of phonet : phonet_route_get() is now called from rcu
read section. I renamed it to phonet_route_get_rcu()

Signed-off-by: Eric Dumazet <redacted>
Cc: Patrick McHardy <redacted>
Cc: Remi Denis-Courmont <redacted>
Acked-by: Stephen Hemminger <redacted>
Applied, thanks everyone!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help