|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] balloon question
On 8 Jun 2006, at 14:51, Jan Beulich wrote:
Running with Xen option dom0_mem=6G and kernel option mem=8G, I would
have expected that I would see the system with a
2G balloon right after boot. However, the balloon is empty. Briefly
looking at this, it would seem to me that, with all
pages being reserved when the system starts and only the populated
ones getting the reserved status cleared in
__free_pages_bootmem(), the condition to put pages into the balloon in
balloon_init() is inverted.
i386 deliberately marks pages beyond start_info->nr_pages as not
Reserved so they get picked up by the balloon driver. Either x86/64
needs to do the same, or we stop doing that in i386. But then there
will be pages that are legitimately Reserved that the balloon driver
will erroneously pick up. Or we could make the balloon driver
explicitly pick up all pages from start_info->nr_pages. Or have an
interface to allow arch code to register page ranges with the balloon
driver. This needs a little thought....
Also, dying in xen_destroy_contiguous_region() (and similarly in the
failure recovery code in
xen_create_contiguous_region()) if the space just unmapped can't be
re-populated seems overly harsh (we're having a case
where this actually happens); wouldn't it make sense to make this
fatal only when the page can't be replaced by a free
one (allocated inside the domain, with the page stolen for this then
simply pushed into the balloon, similar to
balloon_alloc_empty_page_range() except without freeing the memory to
Xen)?
As it happens I'm fixing this exact problem right now. :-) Expect a fix
in -unstable and -testing in the next few days.
-- Keir
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|