diff options
author | alc <alc@FreeBSD.org> | 2010-05-30 20:31:12 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-05-30 20:31:12 +0000 |
commit | 5c8460ba2e20852ad03e95edc6ed72e57382adb1 (patch) | |
tree | cf4214ec07268cb8726761867863445a79283447 /sys/ia64 | |
parent | 0227397f4ac8049aaffc32139b100d54c3ab8dc6 (diff) | |
download | FreeBSD-src-5c8460ba2e20852ad03e95edc6ed72e57382adb1.zip FreeBSD-src-5c8460ba2e20852ad03e95edc6ed72e57382adb1.tar.gz |
Simplify the inner loop of get_pv_entry(): While iterating over the page's
pv list, there is no point in checking whether or not the pv list is empty,
wait instead until the loop completes.
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/pmap.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index beb538e..373d019 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -800,8 +800,6 @@ retry: TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist); m->md.pv_list_count--; TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - if (TAILQ_EMPTY(&m->md.pv_list)) - vm_page_flag_clear(m, PG_WRITEABLE); if (pmap != locked_pmap) PMAP_UNLOCK(pmap); if (allocated_pv == NULL) @@ -809,6 +807,8 @@ retry: else free_pv_entry(pv); } + if (TAILQ_EMPTY(&m->md.pv_list)) + vm_page_flag_clear(m, PG_WRITEABLE); } if (allocated_pv == NULL) { if (vpq == &vm_page_queues[PQ_INACTIVE]) { |