diff options
| author | Alan Cox <alc@FreeBSD.org> | 2006-07-06 06:17:08 +0000 |
|---|---|---|
| committer | Alan Cox <alc@FreeBSD.org> | 2006-07-06 06:17:08 +0000 |
| commit | 9a147235a5918875e9f2baf9f541d1789082313b (patch) | |
| tree | 08c764e9439d7487bd524ea0a61476969a3986d7 /sys | |
| parent | e27c3f48fba8604cc2911289099d9d763b19bf93 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/amd64/amd64/pmap.c | 8 |
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); |
