Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/netinet6



Module Name:    src
Committed By:   ozaki-r
Date:           Mon Dec 19 07:51:34 UTC 2016

Modified Files:
        src/sys/netinet6: in6.c nd6.c nd6.h nd6_nbr.c nd6_rtr.c

Log Message:
Protect IPv6 default router and prefix lists with coarse-grained rwlock

in6_purgeaddr (in6_unlink_ifa) itself unrefernces a prefix entry and calls
nd6_prelist_remove if the counter becomes 0, so callers doesn't need to
handle the reference counting.

Performance-sensitive paths (sending/forwarding packets) call just one
reader lock. This is a trade-off between performance impact vs. the amount
of efforts; if we want to remove the reader lock, we need huge amount of
works including destroying objects with psz/psref in softint, for example.


To generate a diff of this commit:
cvs rdiff -u -r1.224 -r1.225 src/sys/netinet6/in6.c
cvs rdiff -u -r1.219 -r1.220 src/sys/netinet6/nd6.c
cvs rdiff -u -r1.80 -r1.81 src/sys/netinet6/nd6.h
cvs rdiff -u -r1.133 -r1.134 src/sys/netinet6/nd6_nbr.c
cvs rdiff -u -r1.127 -r1.128 src/sys/netinet6/nd6_rtr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index