cvs commit: src/sys/kern kern_fork.c sched_4bsd.c sched_ule.c

Bruce Evans bde at FreeBSD.org
Wed Oct 29 06:40:42 PST 2003


bde         2003/10/29 06:40:41 PST

  FreeBSD src repository

  Modified files:
    sys/kern             kern_fork.c sched_4bsd.c sched_ule.c 
  Log:
  Removed sched_nest variable in sched_switch().  Context switches always
  begin with sched_lock held but not recursed, so this variable was
  always 0.
  
  Removed fixup of sched_lock.mtx_recurse after context switches in
  sched_switch().  Context switches always end with this variable in the
  same state that it began in, so there is no need to fix it up.  Only
  sched_lock.mtx_lock really needs a fixup.
  
  Replaced fixup of sched_lock.mtx_recurse in fork_exit() by an assertion
  that sched_lock is owned and not recursed after it is fixed up.  This
  assertion much match the one in mi_switch(), and if sched_lock were
  recursed then a non-null fixup of sched_lock.mtx_recurse would probably
  be needed again, unlike in sched_switch(), since fork_exit() doesn't
  return to its caller in the normal way.
  
  Revision  Changes    Path
  1.207     +1 -1      src/sys/kern/kern_fork.c
  1.26      +0 -3      src/sys/kern/sched_4bsd.c
  1.69      +0 -3      src/sys/kern/sched_ule.c


More information about the cvs-src mailing list