diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2006-07-13 22:51:27 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2006-07-13 22:51:27 +0000 |
commit | 6a76bccf8a0c4378de36313c8973c7ca1fc0f545 (patch) | |
tree | 430dacf96000212238bd82a6f64553a6c6917bee /sys/uvm/uvm_page.c | |
parent | bd9cebb8b30f438d9adee25b85f18aaa3550285b (diff) |
Back out the anon change. Apparently it was tested by a few, but most of
us did not see it or get a chance to test it before it was commited. It
broke cvs, in the ami driver, making it not succeed at seeing it's devices.
Diffstat (limited to 'sys/uvm/uvm_page.c')
-rw-r--r-- | sys/uvm/uvm_page.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/sys/uvm/uvm_page.c b/sys/uvm/uvm_page.c index 974ec929a2b..c38afca8159 100644 --- a/sys/uvm/uvm_page.c +++ b/sys/uvm/uvm_page.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_page.c,v 1.53 2006/06/21 16:20:05 mickey Exp $ */ +/* $OpenBSD: uvm_page.c,v 1.54 2006/07/13 22:51:26 deraadt Exp $ */ /* $NetBSD: uvm_page.c,v 1.44 2000/11/27 08:40:04 chs Exp $ */ /* @@ -1042,7 +1042,7 @@ uvm_pagealloc_strat(obj, off, anon, flags, strat, free_list) pg->flags = PG_BUSY|PG_CLEAN|PG_FAKE; pg->version++; if (anon) { - anon->an_page = pg; + anon->u.an_page = pg; pg->pqflags = PQ_ANON; #ifdef UBC uvm_pgcnt_anon++; @@ -1171,7 +1171,7 @@ uvm_pagefree(pg) if (saved_loan_count) return; - } else if (saved_loan_count && pg->uanon) { + } else if (saved_loan_count && (pg->pqflags & PQ_ANON)) { /* * if our page is owned by an anon and is loaned out to the @@ -1182,7 +1182,6 @@ uvm_pagefree(pg) */ pg->pqflags &= ~PQ_ANON; - pg->uanon->an_page = NULL; pg->uanon = NULL; return; } @@ -1214,12 +1213,11 @@ uvm_pagefree(pg) pg->wire_count = 0; uvmexp.wired--; } - if (pg->uanon) { - pg->uanon->an_page = NULL; #ifdef UBC + if (pg->uanon) { uvm_pgcnt_anon--; -#endif } +#endif /* * and put on free queue |