tech-kern archive

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

Apply psz/psref to ifaddr and in_ifaddr



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.

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


Home | Main Index | Thread Index | Old Index