In the PGO_FREE case of uvm_map_clean()'s amap cleaning, skip wired
pages. XXX This should be handled better in the future, probably by marking the XXX page as released, and making uvm_pageunwire() free the page when XXX the wire count on a released page reaches zero.
This commit is contained in:
parent
974de8f7f8
commit
62dcdc109b
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: uvm_map.c,v 1.61 1999/07/07 06:02:22 thorpej Exp $ */
|
||||
/* $NetBSD: uvm_map.c,v 1.62 1999/07/07 21:04:22 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997 Charles D. Cranor and Washington University.
|
||||
@ -2520,6 +2520,11 @@ uvm_map_clean(map, start, end, flags)
|
||||
continue;
|
||||
|
||||
case PGO_FREE:
|
||||
/* XXX skip the page if it's wired */
|
||||
if (pg->wire_count != 0) {
|
||||
simple_unlock(&anon->an_lock);
|
||||
continue;
|
||||
}
|
||||
amap_unadd(&entry->aref, offset);
|
||||
refs = --anon->an_ref;
|
||||
simple_unlock(&anon->an_lock);
|
||||
|
Loading…
Reference in New Issue
Block a user