diff options
author | alc <alc@FreeBSD.org> | 2006-07-01 23:24:32 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2006-07-01 23:24:32 +0000 |
commit | c05d97a8923e4260d738512928cda22e3204c923 (patch) | |
tree | 46ac580097cc251cede160ae743af7b2c4c11f74 /sys/powerpc | |
parent | 6d2e595d5b02b389bfe29ba9d4b97cca9d18f9aa (diff) | |
download | FreeBSD-src-c05d97a8923e4260d738512928cda22e3204c923.zip FreeBSD-src-c05d97a8923e4260d738512928cda22e3204c923.tar.gz |
Eliminate the acquisition and release of Giant from moea_extract_and_hold()
and moea_protect().
Tested by: grehan@ and rink@
Diffstat (limited to 'sys/powerpc')
-rw-r--r-- | sys/powerpc/aim/mmu_oea.c | 6 | ||||
-rw-r--r-- | sys/powerpc/powerpc/mmu_oea.c | 6 |
2 files changed, 0 insertions, 12 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index a50fed4..df06c4a 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -1226,7 +1226,6 @@ moea_extract_and_hold(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_prot_t prot) vm_page_t m; m = NULL; - mtx_lock(&Giant); vm_page_lock_queues(); PMAP_LOCK(pmap); pvo = moea_pvo_find_va(pmap, va & ~ADDR_POFF, NULL); @@ -1238,7 +1237,6 @@ moea_extract_and_hold(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_prot_t prot) } vm_page_unlock_queues(); PMAP_UNLOCK(pmap); - mtx_unlock(&Giant); return (m); } @@ -1598,13 +1596,10 @@ moea_protect(mmu_t mmu, pmap_t pm, vm_offset_t sva, vm_offset_t eva, ("moea_protect: non current pmap")); if ((prot & VM_PROT_READ) == VM_PROT_NONE) { - mtx_lock(&Giant); moea_remove(mmu, pm, sva, eva); - mtx_unlock(&Giant); return; } - mtx_lock(&Giant); vm_page_lock_queues(); PMAP_LOCK(pm); for (; sva < eva; sva += PAGE_SIZE) { @@ -1636,7 +1631,6 @@ moea_protect(mmu_t mmu, pmap_t pm, vm_offset_t sva, vm_offset_t eva, } vm_page_unlock_queues(); PMAP_UNLOCK(pm); - mtx_unlock(&Giant); } /* diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c index a50fed4..df06c4a 100644 --- a/sys/powerpc/powerpc/mmu_oea.c +++ b/sys/powerpc/powerpc/mmu_oea.c @@ -1226,7 +1226,6 @@ moea_extract_and_hold(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_prot_t prot) vm_page_t m; m = NULL; - mtx_lock(&Giant); vm_page_lock_queues(); PMAP_LOCK(pmap); pvo = moea_pvo_find_va(pmap, va & ~ADDR_POFF, NULL); @@ -1238,7 +1237,6 @@ moea_extract_and_hold(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_prot_t prot) } vm_page_unlock_queues(); PMAP_UNLOCK(pmap); - mtx_unlock(&Giant); return (m); } @@ -1598,13 +1596,10 @@ moea_protect(mmu_t mmu, pmap_t pm, vm_offset_t sva, vm_offset_t eva, ("moea_protect: non current pmap")); if ((prot & VM_PROT_READ) == VM_PROT_NONE) { - mtx_lock(&Giant); moea_remove(mmu, pm, sva, eva); - mtx_unlock(&Giant); return; } - mtx_lock(&Giant); vm_page_lock_queues(); PMAP_LOCK(pm); for (; sva < eva; sva += PAGE_SIZE) { @@ -1636,7 +1631,6 @@ moea_protect(mmu_t mmu, pmap_t pm, vm_offset_t sva, vm_offset_t eva, } vm_page_unlock_queues(); PMAP_UNLOCK(pm); - mtx_unlock(&Giant); } /* |