cvs commit: src/sys/alpha/alpha mp_machdep.c src/sys/amd64/amd64
mp_machdep.c src/sys/i386/i386 mp_machdep.c src/sys/ia64/ia64
mp_machdep.c src/sys/kern init_main.c kern_exit.c kern_proc.c
kern_resource.c kern_synch.c kern_tc.c subr_trap.c ...
Poul-Henning Kamp
phk at FreeBSD.org
Tue Feb 7 13:22:03 PST 2006
phk 2006-02-07 21:22:02 UTC
FreeBSD src repository
Modified files:
sys/alpha/alpha mp_machdep.c
sys/amd64/amd64 mp_machdep.c
sys/i386/i386 mp_machdep.c
sys/ia64/ia64 mp_machdep.c
sys/kern init_main.c kern_exit.c kern_proc.c
kern_resource.c kern_synch.c kern_tc.c
subr_trap.c
sys/sparc64/sparc64 mp_machdep.c tick.c
sys/sys pcpu.h proc.h systm.h
Log:
Modify the way we account for CPU time spent (step 1)
Keep track of time spent by the cpu in various contexts in units of
"cputicks" and scale to real-world microsec^H^H^H^H^H^H^H^Hclock_t
only when somebody wants to inspect the numbers.
For now "cputicks" are still derived from the current timecounter
and therefore things should by definition remain sensible also on
SMP machines. (The main reason for this first milestone commit is
to verify that hypothesis.)
On slower machines, the avoided multiplications to normalize timestams
at every context switch, comes out as a 5-7% better score on the
unixbench/context1 microbenchmark. On more modern hardware no change
in performance is seen.
Revision Changes Path
1.58 +1 -1 src/sys/alpha/alpha/mp_machdep.c
1.268 +1 -1 src/sys/amd64/amd64/mp_machdep.c
1.262 +1 -1 src/sys/i386/i386/mp_machdep.c
1.59 +1 -1 src/sys/ia64/ia64/mp_machdep.c
1.262 +2 -3 src/sys/kern/init_main.c
1.282 +3 -4 src/sys/kern/kern_exit.c
1.239 +1 -3 src/sys/kern/kern_proc.c
1.153 +12 -9 src/sys/kern/kern_resource.c
1.274 +4 -5 src/sys/kern/kern_synch.c
1.167 +21 -0 src/sys/kern/kern_tc.c
1.284 +1 -1 src/sys/kern/subr_trap.c
1.31 +1 -1 src/sys/sparc64/sparc64/mp_machdep.c
1.19 +17 -0 src/sys/sparc64/sparc64/tick.c
1.17 +1 -1 src/sys/sys/pcpu.h
1.450 +1 -1 src/sys/sys/proc.h
1.239 +3 -0 src/sys/sys/systm.h
More information about the cvs-src
mailing list