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