Re: [Xen-devel] maybe revert commit c275a57f5ec3 "xen/balloon: Set balloon's initial state to number of existing RAM pages"
From: Jan Beulich
Date: Tue Mar 28 2017 - 04:09:18 EST
>>> On 28.03.17 at 03:57, <boris.ostrovsky@xxxxxxxxxx> wrote:
> I think there is indeed a disconnect between target memory (provided by
> the toolstack) and current memory (i.e actual pages available to the guest).
>
> For example
>
> [ 0.000000] BIOS-e820: [mem 0x000000000009e000-0x000000000009ffff]
> reserved
> [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff]
> reserved
>
> are missed in target calculation. The hvmloader marks them as RESERVED
> (in build_e820_table()) but target value is not aware of this action.
>
> And then the same problem repeats when kernel removes
> 0x000a0000-0x000fffff chunk.
But this is all in-guest behavior, i.e. nothing an entity outside the
guest (tool stack or hypervisor) should need to be aware of. That
said, there is still room for improvement in the tools I think:
Regions which architecturally aren't RAM (namely the
0xa0000-0xfffff range) would probably better not be accounted
for as RAM as far as ballooning is concerned. In the hypervisor,
otoh, all memory assigned to the guest (i.e. including such backing
ROMs) needs to be accounted.
Jan