On Fri, Apr 23, 2021 at 15:24:32 +0200, Michal Privoznik wrote:
Reporting how much memory is exposed to the guest happens under
<currentMemory/> which is taken from def->mem.cur_balloon. The
reported amount should account for both balloon size and the sum
of @actualsize of all virtio-mems. For instance, if domain has
4GiB via balloon and additional 2GiB via virtio-mem, then the
domain XML should report 6GiB. The same applies for domain
statistics.
The way to achieve this is to account for either balloon or
virtio-mem when the size of the other is changed, e.g. on balloon
change we have to add all @actualsize (for non virtio-mem these
will be zero, so the check for memory model is needless, but
makes it more obvious what's happening), and vice versa.
I think this needs to be recorded in a comment where the update happens.
Also the detail that the virtio-mem size isn't actually included in the
balloon size reported by qemu, because that's a rather important quirk
of all of this.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_driver.c | 4 ++++
src/qemu/qemu_process.c | 17 +++++++++++++++++
2 files changed, 21 insertions(+)
The code looks okay, but I'll do a final review with the comments in
place.