]> xenbits.xensource.com Git - people/liuw/linux.git/commitdiff
xen/balloon: factor out function to update balloon stats
authorWei Liu <wei.liu2@citrix.com>
Mon, 3 Mar 2014 11:26:00 +0000 (11:26 +0000)
committerWei Liu <wei.liu2@citrix.com>
Wed, 15 Oct 2014 15:07:52 +0000 (16:07 +0100)
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
drivers/xen/balloon.c

index d8055f08e4fe9137f8fa94cdb0bab19383b78e4b..04e12b4e8b8fa5e1a43d5b30a53d271c867e1846 100644 (file)
@@ -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);