Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Aug 2001 11:50:57 -0700 (PDT)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/alpha/alpha trap.c src/sys/i386/i386 trap.c src/sys/i386/linux linux_sysvec.c src/sys/kern init_sysent.c kern_ktrace.c kern_sig.c makesyscalls.sh subr_trap.c syscalls.c syscalls.master src/sys/sparc64/sparc64 trap.c src/sys/sys ...
Message-ID:  <200108301850.f7UIovg29154@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      2001/08/30 11:50:57 PDT

  Modified files:
    sys/alpha/alpha      trap.c 
    sys/i386/i386        trap.c 
    sys/i386/linux       linux_sysvec.c 
    sys/kern             init_sysent.c kern_ktrace.c kern_sig.c 
                         makesyscalls.sh subr_trap.c syscalls.c 
                         syscalls.master 
    sys/sparc64/sparc64  trap.c 
    sys/sys              syscall-hide.h syscall.h syscall.mk 
                         sysproto.h 
  Log:
  Remove the MPSAFE keyword from the parser for syscalls.master.
  Instead introduce the [M] prefix to existing keywords.  e.g.
  MSTD is the MP SAFE version of STD.  This is prepatory for a
  massive Giant lock pushdown.  The old MPSAFE keyword made
  syscalls.master too messy.
  
  Begin comments MP-Safe procedures with the comment:
  /*
   * MPSAFE
   */
  This comments means that the procedure may be called without
  Giant held (The procedure itself may still need to obtain
  Giant temporarily to do its thing).
  
  sv_prepsyscall() is now MP SAFE and assumed to be MP SAFE
  sv_transtrap() is now MP SAFE and assumed to be MP SAFE
  
  ktrsyscall() and ktrsysret() are now MP SAFE (Giant Pushdown)
  trapsignal() is now MP SAFE (Giant Pushdown)
  
  Places which used to do the if (mtx_owned(&Giant)) mtx_unlock(&Giant)
  test in syscall[2]() in */*/trap.c now do not.  Instead they
  explicitly unlock Giant if they previously obtained it, and then
  assert that it is no longer held to catch broken system calls.
  
  Rebuild syscall tables.
  
  Revision  Changes    Path
  1.75      +5 -9      src/sys/alpha/alpha/trap.c
  1.201     +12 -18    src/sys/i386/i386/trap.c
  1.84      +6 -1      src/sys/i386/linux/linux_sysvec.c
  1.102     +0 -0      src/sys/kern/init_sysent.c
  1.55      +11 -1     src/sys/kern/kern_ktrace.c
  1.129     +5 -1      src/sys/kern/kern_sig.c
  1.46      +31 -8     src/sys/kern/makesyscalls.sh
  1.198     +4 -5      src/sys/kern/subr_trap.c
  1.91      +0 -0      src/sys/kern/syscalls.c
  1.92      +33 -31    src/sys/kern/syscalls.master
  1.10      +5 -13     src/sys/sparc64/sparc64/trap.c
  1.85      +0 -0      src/sys/sys/syscall-hide.h
  1.89      +0 -0      src/sys/sys/syscall.h
  1.43      +0 -0      src/sys/sys/syscall.mk
  1.79      +0 -0      src/sys/sys/sysproto.h


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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