Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Dec 2010 11:31:32 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r216516 - head/sys/i386/i386
Message-ID:  <201012181131.oBIBVWgw078882@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012181131.oBIBVWgw078882>