aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/tmem_xen.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-11-23 06:45:03 +0000
committerKeir Fraser <keir.fraser@citrix.com>2009-11-23 06:45:03 +0000
commit2193ba37a3fcb7a8241b37b27275b2bcdbd4db14 (patch)
tree5a11d2c260a76038a37a50e087ee7ccbfa236942 /xen/common/tmem_xen.c
parente2d760b37398feeb13b1512ba7cbba82ec228e2c (diff)
downloadxen-2193ba37a3fcb7a8241b37b27275b2bcdbd4db14.tar.gz
xen-2193ba37a3fcb7a8241b37b27275b2bcdbd4db14.tar.bz2
xen-2193ba37a3fcb7a8241b37b27275b2bcdbd4db14.zip
tmem: fix regression from c/s 19886 "Remove page-scrub lists and async scrubbing"
Fix incorrect page_list macro choice from page-scrub code cleanup. Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Diffstat (limited to 'xen/common/tmem_xen.c')
-rw-r--r--xen/common/tmem_xen.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/xen/common/tmem_xen.c b/xen/common/tmem_xen.c
index 12f249149b..26f593417e 100644
--- a/xen/common/tmem_xen.c
+++ b/xen/common/tmem_xen.c
@@ -213,12 +213,13 @@ EXPORT void tmh_release_avail_pages_to_host(void)
spin_lock(&tmh_page_list_lock);
while ( !page_list_empty(&tmh_page_list) )
{
- struct page_info *pg = page_list_first(&tmh_page_list);
+ struct page_info *pg = page_list_remove_head(&tmh_page_list);
scrub_one_page(pg);
+ tmh_page_list_pages--;
free_domheap_page(pg);
}
+ ASSERT(tmh_page_list_pages == 0);
INIT_PAGE_LIST_HEAD(&tmh_page_list);
- tmh_page_list_pages = 0;
spin_unlock(&tmh_page_list_lock);
}