svn commit: r187485 - in stable/7/sys: . amd64/amd64 contrib/pf
dev/ath/ath_hal dev/cxgb i386/i386
Alan Cox
alc at FreeBSD.org
Tue Jan 20 12:41:43 PST 2009
Author: alc
Date: Tue Jan 20 20:41:41 2009
New Revision: 187485
URL: http://svn.freebsd.org/changeset/base/187485
Log:
MFC rev 180600
Simplify pmap_extract()'s control flow, making it more like the related
functions pmap_extract_and_hold() and pmap_kextract().
Modified:
stable/7/sys/ (props changed)
stable/7/sys/amd64/amd64/pmap.c
stable/7/sys/contrib/pf/ (props changed)
stable/7/sys/dev/ath/ath_hal/ (props changed)
stable/7/sys/dev/cxgb/ (props changed)
stable/7/sys/i386/i386/pmap.c
Modified: stable/7/sys/amd64/amd64/pmap.c
==============================================================================
--- stable/7/sys/amd64/amd64/pmap.c Tue Jan 20 20:32:48 2009 (r187484)
+++ stable/7/sys/amd64/amd64/pmap.c Tue Jan 20 20:41:41 2009 (r187485)
@@ -901,13 +901,12 @@ pmap_extract(pmap_t pmap, vm_offset_t va
if (pdep != NULL) {
pde = *pdep;
if (pde) {
- if ((pde & PG_PS) != 0) {
+ if ((pde & PG_PS) != 0)
rtval = (pde & PG_PS_FRAME) | (va & PDRMASK);
- PMAP_UNLOCK(pmap);
- return rtval;
+ else {
+ pte = pmap_pde_to_pte(pdep, va);
+ rtval = (*pte & PG_FRAME) | (va & PAGE_MASK);
}
- pte = pmap_pde_to_pte(pdep, va);
- rtval = (*pte & PG_FRAME) | (va & PAGE_MASK);
}
}
PMAP_UNLOCK(pmap);
Modified: stable/7/sys/i386/i386/pmap.c
==============================================================================
--- stable/7/sys/i386/i386/pmap.c Tue Jan 20 20:32:48 2009 (r187484)
+++ stable/7/sys/i386/i386/pmap.c Tue Jan 20 20:41:41 2009 (r187485)
@@ -981,14 +981,13 @@ pmap_extract(pmap_t pmap, vm_offset_t va
PMAP_LOCK(pmap);
pde = pmap->pm_pdir[va >> PDRSHIFT];
if (pde != 0) {
- if ((pde & PG_PS) != 0) {
+ if ((pde & PG_PS) != 0)
rtval = (pde & PG_PS_FRAME) | (va & PDRMASK);
- PMAP_UNLOCK(pmap);
- return rtval;
+ else {
+ pte = pmap_pte(pmap, va);
+ rtval = (*pte & PG_FRAME) | (va & PAGE_MASK);
+ pmap_pte_release(pte);
}
- pte = pmap_pte(pmap, va);
- rtval = (*pte & PG_FRAME) | (va & PAGE_MASK);
- pmap_pte_release(pte);
}
PMAP_UNLOCK(pmap);
return (rtval);
More information about the svn-src-stable-7
mailing list