From: Wei Liu Date: Mon, 3 Mar 2014 11:26:00 +0000 (+0000) Subject: xen/balloon: factor out function to update balloon stats X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0da5e14e711ae70631e89a0779a432d912bb490d;p=people%2Fliuw%2Flinux.git xen/balloon: factor out function to update balloon stats Signed-off-by: Wei Liu --- diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index d8055f08e4fe..04e12b4e8b8f 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c @@ -107,17 +107,24 @@ static void scrub_page(struct page *page) #endif } +static inline void update_balloon_stats(struct page *page, int count) +{ + if (PageHighMem(page)) + xen_balloon.balloon_stats.balloon_high += count; + else + xen_balloon.balloon_stats.balloon_low += count; +} + /* balloon_append: add the given page to the balloon. */ static void __balloon_append(struct page *page) { /* Lowmem is re-populated first, so highmem pages go at list tail. */ - if (PageHighMem(page)) { + if (PageHighMem(page)) list_add_tail(&page->lru, &xen_balloon.ballooned_pages); - xen_balloon.balloon_stats.balloon_high++; - } else { + else list_add(&page->lru, &xen_balloon.ballooned_pages); - xen_balloon.balloon_stats.balloon_low++; - } + + update_balloon_stats(page, 1); } static void balloon_append(struct page *page) @@ -142,10 +149,7 @@ static struct page *balloon_retrieve(bool prefer_highmem) struct page, lru); list_del(&page->lru); - if (PageHighMem(page)) - xen_balloon.balloon_stats.balloon_high--; - else - xen_balloon.balloon_stats.balloon_low--; + update_balloon_stats(page, -1); adjust_managed_page_count(page, 1);