Loading drivers/xen/balloon.c +11 −4 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ static void scrub_page(struct page *page) } /* balloon_append: add the given page to the balloon. */ static void balloon_append(struct page *page) static void __balloon_append(struct page *page) { /* Lowmem is re-populated first, so highmem pages go at list tail. */ if (PageHighMem(page)) { Loading @@ -130,7 +130,11 @@ static void balloon_append(struct page *page) list_add(&page->lru, &ballooned_pages); balloon_stats.balloon_low++; } } static void balloon_append(struct page *page) { __balloon_append(page); totalram_pages--; } Loading Loading @@ -416,10 +420,13 @@ static int __init balloon_init(void) register_balloon(&balloon_sysdev); /* Initialise the balloon with excess memory space. */ for (pfn = xen_start_info->nr_pages; pfn < max_pfn; pfn++) { for (pfn = PFN_UP(xen_extra_mem_start); pfn < PFN_DOWN(xen_extra_mem_start + xen_extra_mem_size); pfn++) { page = pfn_to_page(pfn); if (!PageReserved(page)) balloon_append(page); /* totalram_pages doesn't include the boot-time balloon extension, so don't subtract from it. */ __balloon_append(page); } target_watch.callback = watch_target; Loading include/xen/page.h +7 −0 Original line number Diff line number Diff line #ifndef _XEN_PAGE_H #define _XEN_PAGE_H #include <asm/xen/page.h> extern phys_addr_t xen_extra_mem_start, xen_extra_mem_size; #endif /* _XEN_PAGE_H */ Loading
drivers/xen/balloon.c +11 −4 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ static void scrub_page(struct page *page) } /* balloon_append: add the given page to the balloon. */ static void balloon_append(struct page *page) static void __balloon_append(struct page *page) { /* Lowmem is re-populated first, so highmem pages go at list tail. */ if (PageHighMem(page)) { Loading @@ -130,7 +130,11 @@ static void balloon_append(struct page *page) list_add(&page->lru, &ballooned_pages); balloon_stats.balloon_low++; } } static void balloon_append(struct page *page) { __balloon_append(page); totalram_pages--; } Loading Loading @@ -416,10 +420,13 @@ static int __init balloon_init(void) register_balloon(&balloon_sysdev); /* Initialise the balloon with excess memory space. */ for (pfn = xen_start_info->nr_pages; pfn < max_pfn; pfn++) { for (pfn = PFN_UP(xen_extra_mem_start); pfn < PFN_DOWN(xen_extra_mem_start + xen_extra_mem_size); pfn++) { page = pfn_to_page(pfn); if (!PageReserved(page)) balloon_append(page); /* totalram_pages doesn't include the boot-time balloon extension, so don't subtract from it. */ __balloon_append(page); } target_watch.callback = watch_target; Loading
include/xen/page.h +7 −0 Original line number Diff line number Diff line #ifndef _XEN_PAGE_H #define _XEN_PAGE_H #include <asm/xen/page.h> extern phys_addr_t xen_extra_mem_start, xen_extra_mem_size; #endif /* _XEN_PAGE_H */