cvs commit: src/sys/i386/include smp.h src/sys/kern kern_clock.c kern_fork.c kern_synch.c tty.c usched_bsd4.c src/sys/sys globaldata.h proc.h usched.h src/sys/vm vm_pageout.c src/bin/ps keyword.c src/sys/emulation/posix4 ksched.c src/usr.bin/w ...

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Jun 27 11:40:13 PDT 2005


dillon      2005/06/27 11:38:03 PDT

DragonFly src repository

  Modified files:
    sys/i386/include     smp.h 
    sys/kern             kern_clock.c kern_fork.c kern_synch.c 
                         tty.c usched_bsd4.c 
    sys/sys              globaldata.h proc.h usched.h 
    sys/vm               vm_pageout.c 
    bin/ps               keyword.c 
    sys/emulation/posix4 ksched.c 
    usr.bin/w            proc_compare.c 
  Log:
  * Remove a procedural layer in the scheduler clock code by having
    kern_clock call the usched scheduler clock function directly.
  
  * Move p_estcpu to scheduler-specific code.
  
  * Have kern_synch's one-second timer call into the scheduler instead of
    trying to figure it out itself.
  
  * Decay p_estcpu whenever a user process is scheduled as well as once
    per second, leading to (hopefully) better performance under load and
    better handling of adverse conditions (a nice +20 process running in the
    face of a nice -20 process).
  
  * No longer assume that one second has elapsed in the one-second callback.
    Instead calculate the elapsed time on a per-process basis.  This should
    reduce instances of batch processes 'glitching' interactive processes.
  
  * Remove the old round-robin code and instead just have the scheduler
    figure it out internally in the scheduler clock function.
  
  * Revamp the scheduler algorithms, making everything #define constant
    driven.  Retain the NICE-based base-priority and decay algorithms but
    narrow the decay range from the process nice value.  Retain the child
    estcpu inheritance algorithm.
  
  Feedback-provided-by: walt <wa1ter at xxxxxxxxxxxxx>
  
  Revision  Changes    Path
  1.12      +0 -1      src/sys/i386/include/smp.h
  1.44      +14 -3     src/sys/kern/kern_clock.c
  1.36      +4 -0      src/sys/kern/kern_fork.c
  1.47      +49 -199   src/sys/kern/kern_synch.c
  1.18      +3 -3      src/sys/kern/tty.c
  1.28      +221 -26   src/sys/kern/usched_bsd4.c
  1.36      +1 -1      src/sys/sys/globaldata.h
  1.61      +7 -8      src/sys/sys/proc.h
  1.4       +4 -1      src/sys/sys/usched.h
  1.14      +0 -1      src/sys/vm/vm_pageout.c
  1.19      +1 -1      src/bin/ps/keyword.c
  1.5       +1 -1      src/sys/emulation/posix4/ksched.c
  1.5       +2 -2      src/usr.bin/w/proc_compare.c


http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/smp.h.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_clock.c.diff?r1=1.43&r2=1.44&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_fork.c.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_synch.c.diff?r1=1.46&r2=1.47&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/tty.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/usched_bsd4.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/globaldata.h.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/proc.h.diff?r1=1.60&r2=1.61&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/usched.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_pageout.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/bin/ps/keyword.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/emulation/posix4/ksched.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/w/proc_compare.c.diff?r1=1.4&r2=1.5&f=u





More information about the Commits mailing list