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.