Re: [RFC qemu 2/4] virtio-balloon: Add a new feature to balloon device

From: Cornelia Huck
Date: Thu Mar 03 2016 - 07:23:47 EST


On Thu, 3 Mar 2016 18:44:26 +0800
Liang Li <liang.z.li@xxxxxxxxx> wrote:

> 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?

>
> Signed-off-by: Liang Li <liang.z.li@xxxxxxxxx>
> ---
> 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(-)

> +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.