diff options
author | Ariane van der Steldt <ariane@cvs.openbsd.org> | 2009-06-03 04:56:55 +0000 |
---|---|---|
committer | Ariane van der Steldt <ariane@cvs.openbsd.org> | 2009-06-03 04:56:55 +0000 |
commit | 6436bda7a6fb5eddf85fe005e29f058aee42f6b3 (patch) | |
tree | 23014443ad05820964ca915562a980aedd466aaf /sys/uvm | |
parent | af386c180a0a13ef7a8a11cb259576123488448b (diff) |
phys allocator fix: zeroed pages are not clean.
Diffstat (limited to 'sys/uvm')
-rw-r--r-- | sys/uvm/uvm_page.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/uvm/uvm_page.c b/sys/uvm/uvm_page.c index 76ba5b1fe45..66a34526725 100644 --- a/sys/uvm/uvm_page.c +++ b/sys/uvm/uvm_page.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_page.c,v 1.84 2009/06/02 23:00:19 oga Exp $ */ +/* $OpenBSD: uvm_page.c,v 1.85 2009/06/03 04:56:54 ariane Exp $ */ /* $NetBSD: uvm_page.c,v 1.44 2000/11/27 08:40:04 chs Exp $ */ /* @@ -822,7 +822,9 @@ uvm_pagealloc_strat(struct uvm_object *obj, voff_t off, struct vm_anon *anon, pg->offset = off; pg->uobject = obj; pg->uanon = anon; - pg->pg_flags = PG_BUSY|PG_CLEAN|PG_FAKE; + pg->pg_flags = PG_BUSY|PG_FAKE; + if (!(flags & UVM_PGA_ZERO)) + atomic_setbits_int(&pg->pg_flags, PG_CLEAN); if (anon) { anon->an_page = pg; atomic_setbits_int(&pg->pg_flags, PQ_ANON); |