On Tue, Jul 26, 2016 at 1:19 PM, Ryota Ozaki <[email protected]> wrote: > Hi, > > This change makes struct ifaddr and struct in_ifaddr > (and lists for them) MP-safe using pserialize(9) and > psref(9). Changes to in6_ifaddr aren't included.
http://www.netbsd.org/~ozaki-r/psref-ifa-ia6.diff A patch for in6_ifaddr. There is no special change in the patch. ozaki-r > > There are two patches: > http://www.netbsd.org/~ozaki-r/revert-revert-ifaddr-change.diff > http://www.netbsd.org/~ozaki-r/psref-ifa-ia4.diff > > The first patch reverts the reverted commit that added > a member variable to struct ifaddr which broke netstat -ia > using kvm(3). > > netstat is already modified to use sysctl instead of kvm(3) > and we don't need a dirty workaround to keep kvm(3) > backcompat (see PR kern/51325 for the discussion about it). > > The second patch (tl;tr) applies pserialize and psref > to the data structures. Most changes are usual changes > for pserialize and psref while some changes require > restructuring, e.g., rt_getifa. > > One note is that pserialize_perform and psref_target_destroy > are commented out for now. This is because: > - in6_ifaddr change is not yet > - They aren't needed now because of softnet_lock > - They cause a deadlock because of softnet_lock > > So we should enable them when we remove softnet_lock. > > Any comments or suggestions? > > Thanks, > ozaki-r
