[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <F2CBF3009FA73547804AE4C663CAB28E03770FC5@SHSMSX101.ccr.corp.intel.com>
Date: Fri, 4 Mar 2016 02:38:29 +0000
From: "Li, Liang Z" <liang.z.li@...el.com>
To: Cornelia Huck <cornelia.huck@...ibm.com>
CC: "quintela@...hat.com" <quintela@...hat.com>,
"amit.shah@...hat.com" <amit.shah@...hat.com>,
"qemu-devel@...gnu.org" <qemu-devel@...gnu.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"mst@...hat.com" <mst@...hat.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"rth@...ddle.net" <rth@...ddle.net>,
"ehabkost@...hat.com" <ehabkost@...hat.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"dgilbert@...hat.com" <dgilbert@...hat.com>
Subject: RE: [RFC qemu 2/4] virtio-balloon: Add a new feature to balloon
device
> On Thu, 3 Mar 2016 18:44:26 +0800
> Liang Li <liang.z.li@...el.com> 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?
Not yet.
>
> >
> > Signed-off-by: Liang Li <liang.z.li@...el.com>
> > ---
> > 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.
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
Powered by blists - more mailing lists