diff options
author | dfr <dfr@FreeBSD.org> | 2001-11-09 13:25:14 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-11-09 13:25:14 +0000 |
commit | 433f544c6d21ceeac841d5ade1656e65724adc11 (patch) | |
tree | 81d61e5e00f48507c4f6ba547aba384f459c56e3 /sys/ia64/include/pmap.h | |
parent | d9d0c4cb65534919eddfd7d09fd0ff08b5cff41a (diff) | |
download | FreeBSD-src-433f544c6d21ceeac841d5ade1656e65724adc11.zip FreeBSD-src-433f544c6d21ceeac841d5ade1656e65724adc11.tar.gz |
* Make sure we increment pm_stats.resident_count in pmap_enter_quick
* Re-organise RID allocation so that we don't accidentally give a RID
to two different processes. Also randomise the order to try to reduce
collisions in VHPT and TLB. Don't allocate RIDs for regions which are
unused.
* Allocate space for VHPT based on the size of physical memory. More
tuning is needed here.
* Add sysctl instrumentation for VHPT - see sysctl vm.stats.vhpt
* Fix a bug in pmap_prefault() which prevented it from actually adding
pages to the pmap.
* Remove ancient dead debugging code.
* Add DDB commands for examining translation registers and region
registers.
The first change fixes the 'free/cache page %p was dirty' panic which I
have been seeing when the system is put under moderate load. It also
fixes the negative RSS values in ps which have been confusing me for a
while.
With this set of changes the ia64 port is reliable enough to build its
own kernels, even with a 20-way parallel build. Next stop buildworld.
Diffstat (limited to 'sys/ia64/include/pmap.h')
-rw-r--r-- | sys/ia64/include/pmap.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ia64/include/pmap.h b/sys/ia64/include/pmap.h index 0aa9a46..391553c 100644 --- a/sys/ia64/include/pmap.h +++ b/sys/ia64/include/pmap.h @@ -88,7 +88,7 @@ struct md_page { struct pmap { TAILQ_HEAD(,pv_entry) pm_pvlist; /* list of mappings in pmap */ - u_int64_t pm_rid; /* base RID for pmap */ + u_int32_t pm_rid[5]; /* base RID for pmap */ int pm_count; /* reference count */ int pm_flags; /* pmap flags */ int pm_active; /* active flag */ |