diff options
author | Alan Cox <alc@FreeBSD.org> | 2004-07-19 18:12:04 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 2004-07-19 18:12:04 +0000 |
commit | e832aafc51a232b2cafb3c942a1ddecffe9ba8c9 (patch) | |
tree | 43540b6bd533888fdf9bfccbaea3f55304c9eb75 /sys/vm | |
parent | 3a63b92c1249fb1c53c7f34490dddc41ede585d0 (diff) | |
download | src-e832aafc51a232b2cafb3c942a1ddecffe9ba8c9.tar.gz src-e832aafc51a232b2cafb3c942a1ddecffe9ba8c9.zip |
- 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.
Notes
Notes:
svn path=/head/; revision=132414
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 3a623343bcbb..06599d576167 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"); } |