summaryrefslogtreecommitdiffstats
path: root/sys/i386/xen/pmap.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2010-05-30 18:48:41 +0000
committeralc <alc@FreeBSD.org>2010-05-30 18:48:41 +0000
commit0227397f4ac8049aaffc32139b100d54c3ab8dc6 (patch)
treeb7d386f5f988eee1ee4802f248b7bf31b6360465 /sys/i386/xen/pmap.c
parente65f4ccf953ffadefbbd679eab31c34ae3a31a92 (diff)
downloadFreeBSD-src-0227397f4ac8049aaffc32139b100d54c3ab8dc6.zip
FreeBSD-src-0227397f4ac8049aaffc32139b100d54c3ab8dc6.tar.gz
Simplify the inner loop of pmap_collect(): While iterating over the page's
pv list, there is no point in checking whether or not the pv list is empty. Instead, wait until the loop completes.
Diffstat (limited to 'sys/i386/xen/pmap.c')
-rw-r--r--sys/i386/xen/pmap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/i386/xen/pmap.c b/sys/i386/xen/pmap.c
index ed3b0b0..67bbd27 100644
--- a/sys/i386/xen/pmap.c
+++ b/sys/i386/xen/pmap.c
@@ -2078,12 +2078,12 @@ pmap_collect(pmap_t locked_pmap, struct vpgqueues *vpq)
pmap_invalidate_page(pmap, va);
pmap_free_zero_pages(free);
TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
- if (TAILQ_EMPTY(&m->md.pv_list))
- vm_page_flag_clear(m, PG_WRITEABLE);
free_pv_entry(pmap, pv);
if (pmap != locked_pmap)
PMAP_UNLOCK(pmap);
}
+ if (TAILQ_EMPTY(&m->md.pv_list))
+ vm_page_flag_clear(m, PG_WRITEABLE);
}
sched_unpin();
}
OpenPOWER on IntegriCloud