summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2004-07-19 18:12:04 +0000
committeralc <alc@FreeBSD.org>2004-07-19 18:12:04 +0000
commitc700a8a66f23b41b8c9646ba5b2cfb3c890881f9 (patch)
tree43540b6bd533888fdf9bfccbaea3f55304c9eb75 /sys/vm
parentdf97da27fdfcbff158089b567ba85de9b2c7e3a9 (diff)
downloadFreeBSD-src-c700a8a66f23b41b8c9646ba5b2cfb3c890881f9.zip
FreeBSD-src-c700a8a66f23b41b8c9646ba5b2cfb3c890881f9.tar.gz
- Eliminate the pte object from the pmap. Instead, page table pages are
allocated as "no object" pages. Similar changes were made to the amd64 and i386 pmap last year. The primary reason being that maintaining a pte object leads to lock order violations. A secondary reason being that the pte object is redundant, i.e., the page table itself can be used to lookup page table pages. (Historical note: The pte object predates our ability to allocate "no object" pages. Thus, the pte object was a necessary evil.) - Unconditionally check the vm object lock's status in vm_page_remove(). Previously, this assertion could not be made on Alpha due to its use of a pte object.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_page.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 3a62334..06599d5 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -594,9 +594,7 @@ vm_page_remove(vm_page_t m)
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
if (m->object == NULL)
return;
-#ifndef __alpha__
VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
-#endif
if ((m->flags & PG_BUSY) == 0) {
panic("vm_page_remove: page not busy");
}
OpenPOWER on IntegriCloud