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