linux/net/phonet
Eric Dumazet e67f88dd12 net: dont hold rtnl mutex during netlink dump callbacks
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 :

1c2d670f36 : [RTNETLINK]: Hold rtnl_mutex during netlink dump callbacks
6313c1e099 : [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 <eric.dumazet@gmail.com>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-05-02 15:26:28 -07:00
..
af_phonet.c Phonet: return an error when packet TX fails 2011-03-09 11:59:30 -08:00
datagram.c Phonet: hook resource routing to userspace via ioctl()'s 2010-09-15 21:31:32 -07:00
Kconfig Phonet: kill the ST-Ericsson pipe controller Kconfig 2011-03-09 11:59:33 -08:00
Makefile Net: phonet: Makefile: Remove deprecated kbuild goal definitions 2010-11-22 08:16:14 -08:00
pep-gprs.c Phonet: zero-copy aligned GPRS RX 2010-01-07 00:24:54 -08:00
pep.c Phonet: fix aligned-mode pipe socket buffer header reserve 2011-03-15 14:55:49 -07:00
pn_dev.c net: dont hold rtnl mutex during netlink dump callbacks 2011-05-02 15:26:28 -07:00
pn_netlink.c net: dont hold rtnl mutex during netlink dump callbacks 2011-05-02 15:26:28 -07:00
socket.c Phonet: convert bound sockets hash list to RCU 2011-04-14 21:32:53 -07:00
sysctl.c