]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xen/setup: Work properly with 'dom0_mem=X' or with not dom0_mem.
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 5 Apr 2012 21:17:54 +0000 (17:17 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 21 May 2012 21:47:35 +0000 (17:47 -0400)
commitd5932c57f730c194867e12c64742f595bf35ba73
tree0fbdeb5f00a95e337712a21d254da98edc6c3b33
parent32eaa0bf09637a2cf8240ded76abc6ba7112a00f
xen/setup: Work properly with 'dom0_mem=X' or with not dom0_mem.

We ignored the X value and ended up populating up to
max(MAX_DOMAIN_PAGES, last E820_RAM entry).

This fixes it by figuring out how many RAM nr_pages the
hypervisor wanted to provide to us and cap the populate
hypercalls up to that.

The end result is (on a 32GB box):

-Memory: 31779964k/34603008k available (5831k kernel code, 1351620k absent, 1471424k reserved, 2886k data, 692k init)
-(XEN) memory.c:133:d0 Could not allocate order=0 extent: id=0 memflags=0 (15 of 512)
+Memory: 31788256k/34032852k available (5831k kernel code, 1351620k absent, 892976k reserved, 2886k data, 692k init)

with dom0_mem=1G
-Memory: 550608k/12890412k available (5831k kernel code, 1351620k absent, 10988184k reserved, 2886k data, 692k init)
+Memory: 717272k/1049028k available (5831k kernel code, 516k absent, 331240k reserved, 2886k data, 692k init)

[v1: Details added]
[v2: Redid on 32GB box]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/xen/setup.c