diff options
author | alc <alc@FreeBSD.org> | 2004-07-19 18:12:04 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2004-07-19 18:12:04 +0000 |
commit | c700a8a66f23b41b8c9646ba5b2cfb3c890881f9 (patch) | |
tree | 43540b6bd533888fdf9bfccbaea3f55304c9eb75 /sys/vm | |
parent | df97da27fdfcbff158089b567ba85de9b2c7e3a9 (diff) | |
download | FreeBSD-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.c | 2 |
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"); } |