#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)
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);