correct counting for uvmexp.wired:
only pages explicitly wired by a user process should be counted.
This commit is contained in:
parent
e922c9cfec
commit
a5550009e6
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: pmap.new.c,v 1.12 1998/05/20 17:32:13 thorpej Exp $ */
|
||||
/* $NetBSD: pmap.new.c,v 1.13 1998/06/09 05:20:11 chs Exp $ */
|
||||
|
||||
/*
|
||||
*
|
||||
|
@ -1825,6 +1825,8 @@ struct pmap *pmap;
|
|||
if (pg->flags & PG_BUSY)
|
||||
panic("pmap_release: busy page table page");
|
||||
/* pmap_page_protect? currently no need for it. */
|
||||
|
||||
pg->wire_count = 0;
|
||||
uvm_pagefree(pg);
|
||||
}
|
||||
|
||||
|
@ -2242,6 +2244,7 @@ vm_offset_t sva, eva;
|
|||
pmap->pm_stats.resident_count--;
|
||||
if (pmap->pm_ptphint == ptp) /* update hint? */
|
||||
pmap->pm_ptphint = pmap->pm_obj.memq.tqh_first;
|
||||
ptp->wire_count = 0;
|
||||
uvm_pagefree(ptp);
|
||||
}
|
||||
|
||||
|
@ -2330,6 +2333,7 @@ vm_offset_t sva, eva;
|
|||
pmap->pm_stats.resident_count--;
|
||||
if (pmap->pm_ptphint == ptp) /* update hint? */
|
||||
pmap->pm_ptphint = pmap->pm_obj.memq.tqh_first;
|
||||
ptp->wire_count = 0;
|
||||
uvm_pagefree(ptp);
|
||||
}
|
||||
}
|
||||
|
@ -2447,6 +2451,7 @@ struct vm_page *pg;
|
|||
pve->pv_pmap->pm_stats.resident_count--;
|
||||
if (pve->pv_pmap->pm_ptphint == pve->pv_ptp) /* update hint? */
|
||||
pve->pv_pmap->pm_ptphint = pve->pv_pmap->pm_obj.memq.tqh_first;
|
||||
pve->pv_ptp->wire_count = 0;
|
||||
uvm_pagefree(pve->pv_ptp);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: uvm_km.c,v 1.8 1998/03/09 00:58:57 mrg Exp $ */
|
||||
/* $NetBSD: uvm_km.c,v 1.9 1998/06/09 05:18:52 chs Exp $ */
|
||||
|
||||
/*
|
||||
* XXXCDC: "ROUGH DRAFT" QUALITY UVM PRE-RELEASE FILE!
|
||||
|
@ -254,8 +254,6 @@ uvm_km_get(uobj, offset, pps, npagesp, centeridx, access_type, advice, flags)
|
|||
/* new page */
|
||||
ptmp->flags &= ~(PG_BUSY|PG_FAKE);
|
||||
UVM_PAGE_OWN(ptmp, NULL);
|
||||
/* XXX: prevents pageout attempts */
|
||||
ptmp->wire_count = 1;
|
||||
uvm_pagezero(ptmp);
|
||||
}
|
||||
}
|
||||
|
@ -395,7 +393,6 @@ uvm_km_get(uobj, offset, pps, npagesp, centeridx, access_type, advice, flags)
|
|||
|
||||
uvm_pagezero(ptmp);
|
||||
ptmp->flags &= ~(PG_FAKE);
|
||||
ptmp->wire_count = 1; /* XXX: prevents pageout attempts */
|
||||
pps[lcv] = ptmp;
|
||||
|
||||
} /* lcv loop */
|
||||
|
@ -720,9 +717,6 @@ uvm_km_kmemalloc(map, obj, size, flags)
|
|||
if (pg) {
|
||||
pg->flags &= ~PG_BUSY; /* new page */
|
||||
UVM_PAGE_OWN(pg, NULL);
|
||||
|
||||
pg->wire_count = 1;
|
||||
uvmexp.wired++;
|
||||
}
|
||||
simple_unlock(&obj->vmobjlock);
|
||||
|
||||
|
|
Loading…
Reference in New Issue