Author: kib
Date: Sat Dec 18 11:31:32 2010
New Revision: 216516
URL: http://svn.freebsd.org/changeset/base/216516

Log:
  In pmap_extract(), unlock pmap lock earlier. The calculation does not need
  the lock when operating on local variables.
  
  Reviewed by:  alc

Modified:
  head/sys/i386/i386/pmap.c

Modified: head/sys/i386/i386/pmap.c
==============================================================================
--- head/sys/i386/i386/pmap.c   Sat Dec 18 10:09:07 2010        (r216515)
+++ head/sys/i386/i386/pmap.c   Sat Dec 18 11:31:32 2010        (r216516)
@@ -1299,13 +1299,13 @@ pmap_extract(pmap_t pmap, vm_offset_t va
        ptep = pmap_pte(pmap, va);
        pte = (ptep != NULL) ? *ptep : 0;
        pmap_pte_release(ptep);
+       PMAP_UNLOCK(pmap);
        if ((pte & PG_V) != 0) {
                if ((pte & PG_PS) != 0)
                        rtval = (pte & PG_PS_FRAME) | (va & PDRMASK);
                else
                        rtval = (pte & PG_FRAME) | (va & PAGE_MASK);
        }
-       PMAP_UNLOCK(pmap);
        return (rtval);
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to