diff options
author | kib <kib@FreeBSD.org> | 2013-08-22 18:12:24 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2013-08-22 18:12:24 +0000 |
commit | 05a9dff802e2ec3a2f8ab5836657ced5977fca68 (patch) | |
tree | ee8d62f2966140cf842124e46724b5ecf3d56ac8 /sys/i386 | |
parent | 076969f54a69e4b15a5489465a537f9eb246b869 (diff) | |
download | FreeBSD-src-05a9dff802e2ec3a2f8ab5836657ced5977fca68.zip FreeBSD-src-05a9dff802e2ec3a2f8ab5836657ced5977fca68.tar.gz |
Revert r254501. Instead, reuse the type stability of the struct pmap
which is the part of struct vmspace, allocated from UMA_ZONE_NOFREE
zone. Initialize the pmap lock in the vmspace zone init function, and
remove pmap lock initialization and destruction from pmap_pinit() and
pmap_release().
Suggested and reviewed by: alc (previous version)
Tested by: pho
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/pmap.c | 3 | ||||
-rw-r--r-- | sys/i386/xen/pmap.c | 3 |
2 files changed, 0 insertions, 6 deletions
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 6a987b6..8fa9026 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -1738,8 +1738,6 @@ pmap_pinit(pmap_t pmap) vm_paddr_t pa; int i; - PMAP_LOCK_INIT(pmap); - /* * No need to allocate page table space yet but we do need a valid * page directory table. @@ -2051,7 +2049,6 @@ pmap_release(pmap_t pmap) atomic_subtract_int(&cnt.v_wire_count, 1); vm_page_free_zero(m); } - PMAP_LOCK_DESTROY(pmap); } static int diff --git a/sys/i386/xen/pmap.c b/sys/i386/xen/pmap.c index ba56915..c34fe29 100644 --- a/sys/i386/xen/pmap.c +++ b/sys/i386/xen/pmap.c @@ -1452,8 +1452,6 @@ pmap_pinit(pmap_t pmap) mtx_lock(&createdelete_lock); #endif - PMAP_LOCK_INIT(pmap); - /* * No need to allocate page table space yet but we do need a valid * page directory table. @@ -1821,7 +1819,6 @@ pmap_release(pmap_t pmap) #ifdef PAE pmap_qremove((vm_offset_t)pmap->pm_pdpt, 1); #endif - PMAP_LOCK_DESTROY(pmap); #ifdef HAMFISTED_LOCKING mtx_unlock(&createdelete_lock); |