diff options
author | dyson <dyson@FreeBSD.org> | 1996-06-26 05:05:52 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-06-26 05:05:52 +0000 |
commit | ff984cd1a5353fc88e8bff64cc2ed238100a84ae (patch) | |
tree | 06908a6b402e4fb12f689b33a11d8a506d059a88 /sys | |
parent | 8256b2dfc50ffe64f823df895480112cc0b5accc (diff) | |
download | FreeBSD-src-ff984cd1a5353fc88e8bff64cc2ed238100a84ae.zip FreeBSD-src-ff984cd1a5353fc88e8bff64cc2ed238100a84ae.tar.gz |
When page table pages were removed from process address space, the
resident page stats were not being decremented. This mode corrects
that problem.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/amd64/pmap.c | 4 | ||||
-rw-r--r-- | sys/i386/i386/pmap.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 970bd3b..d016355 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 - * $Id: pmap.c,v 1.106 1996/06/18 01:22:06 bde Exp $ + * $Id: pmap.c,v 1.107 1996/06/25 00:39:21 dyson Exp $ */ /* @@ -612,6 +612,7 @@ pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m) { * unmap the page table page */ pmap->pm_pdir[m->pindex] = 0; + --pmap->pm_stats.resident_count; /* * Do a pmap_update to make the invalidated mapping * take effect immediately. @@ -747,6 +748,7 @@ pmap_release_free_page(pmap, p) * Remove the page table page from the processes address space. */ pde[p->pindex] = 0; + --pmap->pm_stats.resident_count; if (p->hold_count) { int *kvap; diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 970bd3b..d016355 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 - * $Id: pmap.c,v 1.106 1996/06/18 01:22:06 bde Exp $ + * $Id: pmap.c,v 1.107 1996/06/25 00:39:21 dyson Exp $ */ /* @@ -612,6 +612,7 @@ pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m) { * unmap the page table page */ pmap->pm_pdir[m->pindex] = 0; + --pmap->pm_stats.resident_count; /* * Do a pmap_update to make the invalidated mapping * take effect immediately. @@ -747,6 +748,7 @@ pmap_release_free_page(pmap, p) * Remove the page table page from the processes address space. */ pde[p->pindex] = 0; + --pmap->pm_stats.resident_count; if (p->hold_count) { int *kvap; |