https://github.com/torvalds/linux
Revision 559cf710b07c5e2cfa3fb8d8f4a1320fd84c53f9 authored by Vlad Yasevich on 16 September 2007, 23:03:28 UTC, committed by David S. Miller on 16 September 2007, 23:03:28 UTC
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>
1 parent 2930354
History
Tip revision: 559cf710b07c5e2cfa3fb8d8f4a1320fd84c53f9 authored by Vlad Yasevich on 16 September 2007, 23:03:28 UTC
[SCTP]: Convert bind_addr_list locking to RCU
Tip revision: 559cf71
File Mode Size
basic
genksyms
kconfig
ksymoops
mod
package
rt-tester
.gitignore -rw-r--r-- 67 bytes
Kbuild.include -rw-r--r-- 8.4 KB
Lindent -rwxr-xr-x 65 bytes
Makefile -rw-r--r-- 893 bytes
Makefile.build -rw-r--r-- 10.8 KB
Makefile.clean -rw-r--r-- 3.2 KB
Makefile.headersinst -rw-r--r-- 6.9 KB
Makefile.host -rw-r--r-- 6.5 KB
Makefile.lib -rw-r--r-- 6.4 KB
Makefile.modinst -rw-r--r-- 1.0 KB
Makefile.modpost -rw-r--r-- 4.4 KB
bin2c.c -rw-r--r-- 702 bytes
binoffset.c -rw-r--r-- 3.9 KB
bloat-o-meter -rwxr-xr-x 1.6 KB
checkincludes.pl -rwxr-xr-x 529 bytes
checkpatch.pl -rwxr-xr-x 30.4 KB
checkstack.pl -rwxr-xr-x 3.8 KB
checksyscalls.sh -rwxr-xr-x 3.1 KB
checkversion.pl -rwxr-xr-x 1.8 KB
cleanfile -rwxr-xr-x 3.4 KB
cleanpatch -rwxr-xr-x 5.0 KB
conmakehash.c -rw-r--r-- 6.0 KB
decodecode -rw-r--r-- 984 bytes
export_report.pl -rw-r--r-- 4.2 KB
extract-ikconfig -rwxr-xr-x 1.7 KB
gcc-version.sh -rw-r--r-- 694 bytes
gcc-x86_64-has-stack-protector.sh -rw-r--r-- 187 bytes
gen_initramfs_list.sh -rw-r--r-- 6.6 KB
hdrcheck.sh -rwxr-xr-x 281 bytes
kallsyms.c -rw-r--r-- 12.9 KB
kernel-doc -rwxr-xr-x 53.1 KB
makelst -rwxr-xr-x 804 bytes
mkcompile_h -rwxr-xr-x 2.5 KB
mkmakefile -rw-r--r-- 742 bytes
mksysmap -rw-r--r-- 1.3 KB
mkuboot.sh -rwxr-xr-x 379 bytes
mkversion -rw-r--r-- 74 bytes
namespace.pl -rwxr-xr-x 13.1 KB
patch-kernel -rwxr-xr-x 9.7 KB
pnmtologo.c -rw-r--r-- 11.7 KB
profile2linkerlist.pl -rw-r--r-- 378 bytes
setlocalversion -rw-r--r-- 527 bytes
show_delta -rwxr-xr-x 3.0 KB
unifdef.c -rw-r--r-- 29.0 KB
ver_linux -rwxr-xr-x 3.3 KB

back to top