RE: [RFC qemu 2/4] virtio-balloon: Add a new feature to balloon device
From: Li, Liang Z <hidden>
Date: 2016-03-04 02:38:47
Also in:
kvm, linux-mm, lkml, qemu-devel
On Thu, 3 Mar 2016 18:44:26 +0800 Liang Li [off-list ref] wrote:quoted
Extend the virtio balloon device to support a new feature, this new feature can help to get guest's free pages information, which can be used for live migration optimzation.Do you have a spec for this, e.g. as a patch to the virtio spec?
Not yet.
quoted
Signed-off-by: Liang Li <redacted> --- balloon.c | 30 ++++++++- hw/virtio/virtio-balloon.c | 81 ++++++++++++++++++++++++- include/hw/virtio/virtio-balloon.h | 17 +++++- include/standard-headers/linux/virtio_balloon.h | 1 + include/sysemu/balloon.h | 10 ++- 5 files changed, 134 insertions(+), 5 deletions(-)quoted
+static int virtio_balloon_free_pages(void *opaque, + unsigned long *free_pages_bitmap, + unsigned long *free_pages_count) +{ + VirtIOBalloon *s = opaque; + VirtIODevice *vdev = VIRTIO_DEVICE(s); + VirtQueueElement *elem = s->free_pages_vq_elem; + int len; + + if (!balloon_free_pages_supported(s)) { + return -1; + } + + if (s->req_status == NOT_STARTED) { + s->free_pages_bitmap = free_pages_bitmap; + s->req_status = STARTED; + s->mem_layout.low_mem = + pc_get_lowmem(PC_MACHINE(current_machine));Please don't leak pc-specific information into generic code.
I have already notice that and just leave it here in this initial RFC version, the hard part of this solution is how to handle different architecture ... Thanks! Liang