Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jul 2005 16:55:47 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/net if_atmsubr.c src/sys/netnatm natm.c natm.h natm_pcb.c natm_proto.c
Message-ID:  <200507181655.j6IGtloC064182@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200507181655.j6IGtloC064182>