diff options
author | alc <alc@FreeBSD.org> | 2010-05-30 18:48:41 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-05-30 18:48:41 +0000 |
commit | 0227397f4ac8049aaffc32139b100d54c3ab8dc6 (patch) | |
tree | b7d386f5f988eee1ee4802f248b7bf31b6360465 /sys/i386/xen/pmap.c | |
parent | e65f4ccf953ffadefbbd679eab31c34ae3a31a92 (diff) | |
download | FreeBSD-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.c | 4 |
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(); } |