blob: 4e15c1571e2e91ff65e66b9ef8144e79013b0338 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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--;
|