In pmap_extract(), unlock pmap lock earlier. The calculation does not need

the lock when operating on local variables.

Reviewed by:	alc
This commit is contained in:
Konstantin Belousov 2010-12-18 11:31:32 +00:00
parent e04b58b0cf
commit a9b31c256e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=216516

View File

@ -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);
}