cvs commit: src/sys/kern kern_condvar.c kern_sx.c kern_synch.c kern_thread.c kern_timeout.c sched_4bsd.c sched_ule.c subr_sleepqueue.c src/sys/sys condvar.h proc.h sched.h sleepqueue.h src/sys/vm vm_glue.c vm_meter.c

Jeff Roberson jeff at FreeBSD.org
Wed Mar 12 06:31:07 UTC 2008


jeff        2008-03-12 06:31:07 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_condvar.c kern_sx.c kern_synch.c 
                         kern_thread.c kern_timeout.c sched_4bsd.c 
                         sched_ule.c subr_sleepqueue.c 
    sys/sys              condvar.h proc.h sched.h sleepqueue.h 
    sys/vm               vm_glue.c vm_meter.c 
  Log:
   - Pass the priority argument from *sleep() into sleepq and down into
     sched_sleep().  This removes extra thread_lock() acquisition and
     allows the scheduler to decide what to do with the static boost.
   - Change the priority arguments to cv_* to match sleepq/msleep/etc.
     where 0 means no priority change.  Catch -1 in cv_broadcastpri() and
     convert it to 0 for now.
   - Set a flag when sleeping in a way that is compatible with swapping
     since direct priority comparisons are meaningless now.
   - Add a sysctl to ule, kern.sched.static_boost, that defaults to on which
     controls the boost behavior.  Turning it off gives better performance
     in some workloads but needs more investigation.
   - While we're modifying sleepq, change signal and broadcast to both
     return with the lock held as the lock was held on enter.
  
  Reviewed by:    jhb, peter
  
  Revision  Changes    Path
  1.63      +14 -9     src/sys/kern/kern_condvar.c
  1.59      +10 -9     src/sys/kern/kern_sx.c
  1.307     +10 -19    src/sys/kern/kern_synch.c
  1.268     +2 -2      src/sys/kern/kern_thread.c
  1.110     +1 -1      src/sys/kern/kern_timeout.c
  1.116     +6 -1      src/sys/kern/sched_4bsd.c
  1.231     +9 -1      src/sys/kern/sched_ule.c
  1.46      +23 -27    src/sys/kern/subr_sleepqueue.c
  1.15      +1 -1      src/sys/sys/condvar.h
  1.505     +2 -2      src/sys/sys/proc.h
  1.36      +1 -1      src/sys/sys/sched.h
  1.13      +4 -4      src/sys/sys/sleepqueue.h
  1.227     +1 -2      src/sys/vm/vm_glue.c
  1.97      +6 -16     src/sys/vm/vm_meter.c


More information about the cvs-src mailing list