aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2006-07-06 06:17:08 +0000
committerAlan Cox <alc@FreeBSD.org>2006-07-06 06:17:08 +0000
commit9a147235a5918875e9f2baf9f541d1789082313b (patch)
tree08c764e9439d7487bd524ea0a61476969a3986d7 /sys
parente27c3f48fba8604cc2911289099d9d763b19bf93 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/pmap.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 31859de7887d3..c5368dba6fb40 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -3050,14 +3050,12 @@ pmap_ts_referenced(vm_page_t m)
pmap = PV_PMAP(pv);
PMAP_LOCK(pmap);
pte = pmap_pte(pmap, pv->pv_va);
- if (pte != NULL && (*pte & PG_A) != 0) {
+ if ((*pte & PG_A) != 0) {
atomic_clear_long(pte, PG_A);
pmap_invalidate_page(pmap, pv->pv_va);
rtval++;
- if (rtval > 4) {
- PMAP_UNLOCK(pmap);
- break;
- }
+ if (rtval > 4)
+ pvn = NULL;
}
PMAP_UNLOCK(pmap);
} while ((pv = pvn) != NULL && pv != pvf);