cvs commit: src/sys/net if_atmsubr.c src/sys/netnatm natm.c natm.h
natm_pcb.c natm_proto.c
Robert Watson
rwatson at FreeBSD.org
Mon Jul 18 16:55:47 GMT 2005
rwatson 2005-07-18 16:55:47 UTC
FreeBSD src repository
Modified files:
sys/net if_atmsubr.c
sys/netnatm natm.c natm.h natm_pcb.c natm_proto.c
Log:
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.
MFC after: 2 weeks
Reviewed by: harti, bms (various versions)
Revision Changes Path
1.38 +9 -6 src/sys/net/if_atmsubr.c
1.38 +56 -51 src/sys/netnatm/natm.c
1.11 +7 -0 src/sys/netnatm/natm.h
1.16 +3 -5 src/sys/netnatm/natm_pcb.c
1.16 +2 -3 src/sys/netnatm/natm_proto.c
More information about the cvs-src
mailing list