diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-03-04 17:24:31 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-03-04 17:24:31 +0000 |
commit | 2060f8bb26dc4230327b1a81a60b60300719ee15 (patch) | |
tree | 88d461e7e3bbff9aca940aad24a25b508a6efcf8 /sys/powerpc/aim | |
parent | 7053937fa6b7489260f32ab5250e908f6b721c6c (diff) | |
download | FreeBSD-src-2060f8bb26dc4230327b1a81a60b60300719ee15.zip FreeBSD-src-2060f8bb26dc4230327b1a81a60b60300719ee15.tar.gz |
Fix an obvious lock escape and fix a typo in a comment.
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r-- | sys/powerpc/aim/mmu_oea64.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 4e74572..cf64af1 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -1664,8 +1664,10 @@ moea64_page_exists_quick(mmu_t mmu, pmap_t pmap, vm_page_t m) loops = 0; LOCK_TABLE(); LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) { - if (pvo->pvo_pmap == pmap) + if (pvo->pvo_pmap == pmap) { + UNLOCK_TABLE(); return (TRUE); + } if (++loops >= 16) break; } @@ -2063,7 +2065,7 @@ moea64_pvo_enter(pmap_t pm, uma_zone_t zone, struct pvo_head *pvo_head, bootstrap = 1; } else { /* - * Note: drop the table around the UMA allocation in + * Note: drop the table lock around the UMA allocation in * case the UMA allocator needs to manipulate the page * table. The mapping we are working with is already * protected by the PMAP lock. |