Subject: pmap performance enhancement
To: None <port-alpha@netbsd.org>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-alpha
Date: 11/29/1999 10:47:07
Hi folks...

I've made a performance enhancement to the Alpha pmap that should be
most noticeable on systems where large address spaces are created and
torn down frequently (e.g. big sendmail processes forking and exiting,
etc.)

The relevant commit message is:

 ----- snip -----
Module Name:	syssrc
Committed By:	thorpej
Date:		Mon Nov 29 18:37:30 UTC 1999

Modified Files:
	syssrc/sys/arch/alpha/alpha: pmap.c

Log Message:
Switch to the new pmap_remove() and nuke the old one.  A simple fork/exit
benchmark shows at least a 10% improvement in the tearing down of a large
address space.


To generate a diff of this commit:
cvs rdiff -r1.118 -r1.119 syssrc/sys/arch/alpha/alpha/pmap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

 ----- snip -----

I've hammered on this pretty hard over the past few days, and my test
systems are stable[*].  But, if you do encounter problems, please do
not hesitate to file a bug report w/ send-pr(1).

[*] Editors note: I actually wrote this code some time ago, but never
integrated it because it didn't work properly; the system exhibited
very strange behavior.  When I applied the same fixes to my new pmap_remove()
as Charles Hannum did to pmap_protect(), whala, everything was all good.

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>