summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tags/2.6.22-2/20024_79-balloon-highmem.patch1')
-rw-r--r--tags/2.6.22-2/20024_79-balloon-highmem.patch142
1 files changed, 42 insertions, 0 deletions
diff --git a/tags/2.6.22-2/20024_79-balloon-highmem.patch1 b/tags/2.6.22-2/20024_79-balloon-highmem.patch1
new file mode 100644
index 0000000..4e15c15
--- /dev/null
+++ b/tags/2.6.22-2/20024_79-balloon-highmem.patch1
@@ -0,0 +1,42 @@
+# HG changeset 79 patch
+# User kfraser@localhost.localdomain
+# Date 1183324052 -3600
+# Node ID 57ab8dd47580c2f726556fe1c46b5401f2bddb1e
+# Parent 0be610b725fae4cd6de8f0b111660a186f93b86d
+Subject: Stop low memory from appearing -ve in /proc/meminfo when ballooned.
+Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
+
+---
+ drivers/xen/balloon/balloon.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/xen/balloon/balloon.c 2007-08-27 14:01:25.000000000 -0400
++++ b/drivers/xen/balloon/balloon.c 2007-08-27 14:02:03.000000000 -0400
+@@ -83,6 +83,7 @@ static unsigned long frame_list[PAGE_SIZ
+
+ /* VM /proc information for memory */
+ extern unsigned long totalram_pages;
++extern unsigned long totalhigh_pages;
+
+ /* List of ballooned pages, threaded through the mem_map array. */
+ static LIST_HEAD(ballooned_pages);
+@@ -118,6 +119,7 @@ static void balloon_append(struct page *
+ if (PageHighMem(page)) {
+ list_add_tail(PAGE_TO_LIST(page), &ballooned_pages);
+ bs.balloon_high++;
++ totalhigh_pages--;
+ } else {
+ list_add(PAGE_TO_LIST(page), &ballooned_pages);
+ bs.balloon_low++;
+@@ -135,8 +137,10 @@ static struct page *balloon_retrieve(voi
+ page = LIST_TO_PAGE(ballooned_pages.next);
+ UNLIST_PAGE(page);
+
+- if (PageHighMem(page))
++ if (PageHighMem(page)) {
+ bs.balloon_high--;
++ totalhigh_pages++;
++ }
+ else
+ bs.balloon_low--;
+