K 10 svn:author V 7 rwatson K 8 svn:date V 27 2005-08-15T09:51:15.000000Z K 7 svn:log V 979 Merge if_atmsubr.c:1.38, natm.c:1.38, natm.h:1.11, natm_pcb.c:1.16, natm_proto.c:1.16 from HEAD to RELENG_6: Lock down netnatm and mark as MPSAFE: - Introduce a subsystem mutex, natm_mtx, manipulated with accessor macros NATM_LOCK_INIT(), NATM_LOCK(), NATM_UNLOCK(), NATM_LOCK_ASSERT(). It protects the consistency of pcb-related data structures. Finer grained locking is possible, but should be done in the context of specific measurements (as very little work is done in netnatm -- most is in the ATM device driver or socket layer, so there's probably not much contention). - Remove GIANT_REQUIRED, mark as NETISR_MPSAFE, remove NET_NEEDS_GIANT("netnatm"). - Conditionally acquire Giant when entering network interfaces for ifp->if_ioctl() using IFF_LOCKGIANT(ifp)/IFF_UNLOCKGIANT(ifp) in order to coexist with non-MPSAFE atm ifnet drivers.. - De-spl. Reviewed by: harti, bms (various versions) Approved by: re (hrs) END