Subject: README: more pmap changes
To: None <port-alpha@NetBSD.ORG>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-alpha
Date: 03/22/1998 10:37:39
Hi folks...

Again, with debugging help from Chris Demetriou and Ross Harvey, I have
added support for ASNs (Address Space Numbers) to the NetBSD/alpha pmap.

For those who aren't familiar with the Alpha TB/OSF1 PALcode, let me
give you a brief description of what ASNs are (for more details, you
can read the lengthy comments I put in the pmap code itself).

ASNs are unique numbers in a processor-specified range that are used to
tag TB entries and I-cache blocks.  By assigning ASNs to pmaps, and using
them when the process using that pmap runs, you can eliminate TB and
I-cache flushes otherwise neessary at context switch time.  Flushes
are still required, but only when you run out of free ASNs.  On the
21164, there are 128 ASNs (0 - 127, 0 is reserved for empty pmaps and the
kernel pmap).

The end result of these changes are a significant improvement in context
switch performance.  On a 500MHz 21164A, I have observed an improvement of
25-30%.  The larger the process, the more noticeable the improvement will
be.

On 2106{4,6,8} processors, there will be a slight improvement, but not
as much, as those processors do not implement ASNs.  The improvement
will come from the elimination of a redundant TB/I-cache flush.

These are currently available in today's SUP.  If you have any problems,
please send a bug report with send-pr(1).

Have fun!

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                            Home: +1 408 866 1912
NAS: M/S 258-5                                       Work: +1 650 604 0935
Moffett Field, CA 94035                             Pager: +1 415 428 6939