summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2006-07-01 23:24:32 +0000
committeralc <alc@FreeBSD.org>2006-07-01 23:24:32 +0000
commitc05d97a8923e4260d738512928cda22e3204c923 (patch)
tree46ac580097cc251cede160ae743af7b2c4c11f74 /sys/powerpc
parent6d2e595d5b02b389bfe29ba9d4b97cca9d18f9aa (diff)
downloadFreeBSD-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.c6
-rw-r--r--sys/powerpc/powerpc/mmu_oea.c6
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);
}
/*
OpenPOWER on IntegriCloud