cvs commit: src/sys/kern kern_exit.c kern_synch.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Mar 20 11:17:04 PST 2004
dillon 2004/03/20 11:16:24 PST
DragonFly src repository
Modified files:
sys/kern kern_exit.c kern_synch.c
Log:
Fix p_pctcpu and p_estcpu. When the new systimer stuff was put in the
scheduler got its own clock interrupt for scheduling updates which was set
to 10Hz. pctcpu was still being calculated based on 100hz, so change that
to 10hz.
The systimer stuff also broke estcpu, which in turn broke NICE. Change
the estcpu equations to operate properly and get rid of some crufty comments.
Note that NICE really works now. A cpu-bound nice +20 process will get
very little cpu relative to a cpu-bounce nice +0 process, and none relative
to a negatively-niced process. From a standing start each nice level of
difference immediately shifts about 5% of the cpu between processes. Once
the load and estcpu has stabilized (if the processes are cpu-bound), the
difference is around 2% per level, for two processes. When starting a
highly-niced process in the face of lower-niced cpu-bound processes, the
highly-niced process may not get any cpu at all for up to 60 seconds. This
is because the system 1-min loadav is used to scale estcpu.
Revision Changes Path
1.31 +17 -3 src/sys/kern/kern_exit.c
1.30 +30 -78 src/sys/kern/kern_synch.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_exit.c.diff?r1=1.30&r2=1.31&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_synch.c.diff?r1=1.29&r2=1.30&f=h
More information about the Commits
mailing list