Author: alc
Date: Sat Mar 14 08:28:02 2009
New Revision: 189785
URL: http://svn.freebsd.org/changeset/base/189785

Log:
  Update the pmap's resident page count when a page table page is freed in
  pmap_remove_pde() and pmap_remove_pages().
  
  MFC after:    6 weeks

Modified:
  head/sys/amd64/amd64/pmap.c

Modified: head/sys/amd64/amd64/pmap.c
==============================================================================
--- head/sys/amd64/amd64/pmap.c Sat Mar 14 06:48:50 2009        (r189784)
+++ head/sys/amd64/amd64/pmap.c Sat Mar 14 08:28:02 2009        (r189785)
@@ -2342,6 +2342,7 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t 
                mpte = pmap_lookup_pt_page(pmap, sva);
                if (mpte != NULL) {
                        pmap_remove_pt_page(pmap, mpte);
+                       pmap->pm_stats.resident_count--;
                        KASSERT(mpte->wire_count == NPTEPG,
                            ("pmap_remove_pde: pte page wire count error"));
                        mpte->wire_count = 0;
@@ -3851,6 +3852,7 @@ pmap_remove_pages(pmap_t pmap)
                                        mpte = pmap_lookup_pt_page(pmap, 
pv->pv_va);
                                        if (mpte != NULL) {
                                                pmap_remove_pt_page(pmap, mpte);
+                                               pmap->pm_stats.resident_count--;
                                                KASSERT(mpte->wire_count == 
NPTEPG,
                                                    ("pmap_remove_pages: pte 
page wire count error"));
                                                mpte->wire_count = 0;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to