Subject: CVS commit: src/sys/arch/sparc
To: None <source-changes@netbsd.org>
From: matthew green <mrg@netbsd.org>
List: source-changes
Date: 01/11/2003 05:40:34
Module Name: src
Committed By: mrg
Date: Sat Jan 11 03:40:34 UTC 2003
Modified Files:
src/sys/arch/sparc/include: pmap.h
src/sys/arch/sparc/sparc: genassym.cf locore.s pmap.c
Log Message:
keep track of which cpu's have run a pmap and only broadcast tlb flushes to
cpu's who have done so. implement pmap_deactivate() for MULTIPROCESSOR and
call it from cpu_switch() when we are about to switch proces and when we
enter idle().
with this change, i see significantly reduced tlb IPI traffic and fork/exec
bound processes -- such as "configure" -- run significantly faster, upto
15%. i also obvserved a small (0-2%) benefit to CPU bound tasks as well.
To generate a diff of this commit:
cvs rdiff -r1.63 -r1.64 src/sys/arch/sparc/include/pmap.h
cvs rdiff -r1.38 -r1.39 src/sys/arch/sparc/sparc/genassym.cf
cvs rdiff -r1.179 -r1.180 src/sys/arch/sparc/sparc/locore.s
cvs rdiff -r1.225 -r1.226 src/sys/arch/sparc/sparc/pmap.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.