]> git.baikalelectronics.ru Git - kernel.git/commit
[SCTP]: Convert bind_addr_list locking to RCU
authorVlad Yasevich <vladislav.yasevich@hp.com>
Sun, 16 Sep 2007 23:03:28 +0000 (16:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 16 Sep 2007 23:03:28 +0000 (16:03 -0700)
commit726db0082fc3fbb5157931b9ac6e9c6c06164553
treedeb74aea811a7d7c7e203f3743fd15372f8a6589
parent483457cb26f0d7999557ccb9722a3f4f0bcf8f32
[SCTP]: Convert bind_addr_list locking to RCU

Since the sctp_sockaddr_entry is now RCU enabled as part of
the patch to synchronize sctp_localaddr_list, it makes sense to
change all handling of these entries to RCU.  This includes the
sctp_bind_addrs structure and it's list of bound addresses.

This list is currently protected by an external rw_lock and that
looks like an overkill.  There are only 2 writers to the list:
bind()/bindx() calls, and BH processing of ASCONF-ACK chunks.
These are already seriealized via the socket lock, so they will
not step on each other.  These are also relatively rare, so we
should be good with RCU.

The readers are varied and they are easily converted to RCU.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Sridhar Samdurala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/structs.h
net/sctp/associola.c
net/sctp/bind_addr.c
net/sctp/endpointola.c
net/sctp/ipv6.c
net/sctp/protocol.c
net/sctp/sm_make_chunk.c
net/sctp/socket.c