diff options
author | Owain Ainsworth <oga@cvs.openbsd.org> | 2009-06-16 00:11:30 +0000 |
---|---|---|
committer | Owain Ainsworth <oga@cvs.openbsd.org> | 2009-06-16 00:11:30 +0000 |
commit | b20700966027364e7e2e3cf5ca4613cbb4e2a25b (patch) | |
tree | dac29c9a1582e023159a8aabe2282775b21cbdc2 /sys/uvm/uvm_object.h | |
parent | ab37797a62467132f94babf9bc9d57cef8402599 (diff) |
Backout all changes to uvm after pmemrange (which will be backed out
separately).
a change at or just before the hackathon has either exposed or added a
very very nasty memory corruption bug that is giving us hell right now.
So in the interest of kernel stability these diffs are being backed out
until such a time as that corruption bug has been found and squashed,
then the ones that are proven good may slowly return.
a quick hitlist of the main commits this backs out:
mine:
uvm_objwire
the lock change in uvm_swap.c
using trees for uvm objects instead of the hash
removing the pgo_releasepg callback.
art@'s:
putting pmap_page_protect(VM_PROT_NONE) in uvm_pagedeactivate() since
all callers called that just prior anyway.
ok beck@, ariane@.
prompted by deraadt@.
Diffstat (limited to 'sys/uvm/uvm_object.h')
-rw-r--r-- | sys/uvm/uvm_object.h | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/sys/uvm/uvm_object.h b/sys/uvm/uvm_object.h index d6292ec0acb..3d5a091f462 100644 --- a/sys/uvm/uvm_object.h +++ b/sys/uvm/uvm_object.h @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_object.h,v 1.12 2009/06/06 03:45:08 oga Exp $ */ +/* $OpenBSD: uvm_object.h,v 1.13 2009/06/16 00:11:29 oga Exp $ */ /* $NetBSD: uvm_object.h,v 1.11 2001/03/09 01:02:12 chs Exp $ */ /* @@ -47,11 +47,11 @@ */ struct uvm_object { - simple_lock_data_t vmobjlock; /* lock on memq */ - struct uvm_pagerops *pgops; /* pager ops */ - RB_HEAD(uobj_pgs, vm_page) memt; /* pages in obj */ - int uo_npages; /* # of pages in memq */ - int uo_refs; /* reference count */ + simple_lock_data_t vmobjlock; /* lock on memq */ + struct uvm_pagerops *pgops; /* pager ops */ + struct pglist memq; /* pages in this object */ + int uo_npages; /* # of pages in memq */ + int uo_refs; /* reference count */ }; /* @@ -93,11 +93,6 @@ extern struct uvm_pagerops uvm_deviceops; ((uobj)->pgops == &uvm_vnodeops && \ ((struct vnode *)uobj)->v_flag & VTEXT) -int uvm_pagecmp(struct vm_page *, struct vm_page *); -RB_PROTOTYPE(uobj_pgs, vm_page, fq.queues.tree, uvm_pagecmp); - -int uvm_objwire(struct uvm_object *, off_t, off_t, struct pglist *); -void uvm_objunwire(struct uvm_object *, off_t, off_t); #endif /* _KERNEL */ |