Skip to content

Commit

Permalink
Xen balloon: fix totalram_pages counting.
Browse files Browse the repository at this point in the history
Change totalram_pages when a single page is added/removed to the
ballooned list. This avoid totalram_pages to be set erroneously to
max_pfn at boot.

Signed-off-by: Gianluca Guida <gianluca.guida@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Stable Kernel <stable@kernel.org>
  • Loading branch information
Gianluca Guida authored and Jeremy Fitzhardinge committed Dec 4, 2009
1 parent b4606f2 commit 3d65c94
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions drivers/xen/balloon.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,8 @@ static void balloon_append(struct page *page)
list_add(&page->lru, &ballooned_pages);
balloon_stats.balloon_low++;
}

totalram_pages--;
}

/* balloon_retrieve: rescue a page from the balloon, if it is not empty. */
Expand All @@ -156,6 +158,8 @@ static struct page *balloon_retrieve(void)
else
balloon_stats.balloon_low--;

totalram_pages++;

return page;
}

Expand Down Expand Up @@ -260,7 +264,6 @@ static int increase_reservation(unsigned long nr_pages)
}

balloon_stats.current_pages += nr_pages;
totalram_pages = balloon_stats.current_pages;

out:
spin_unlock_irqrestore(&balloon_lock, flags);
Expand Down Expand Up @@ -323,7 +326,6 @@ static int decrease_reservation(unsigned long nr_pages)
BUG_ON(ret != nr_pages);

balloon_stats.current_pages -= nr_pages;
totalram_pages = balloon_stats.current_pages;

spin_unlock_irqrestore(&balloon_lock, flags);

Expand Down Expand Up @@ -422,7 +424,6 @@ static int __init balloon_init(void)
pr_info("xen_balloon: Initialising balloon driver.\n");

balloon_stats.current_pages = min(xen_start_info->nr_pages, max_pfn);
totalram_pages = balloon_stats.current_pages;
balloon_stats.target_pages = balloon_stats.current_pages;
balloon_stats.balloon_low = 0;
balloon_stats.balloon_high = 0;
Expand Down

0 comments on commit 3d65c94

Please sign in to comment.