[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <F2CBF3009FA73547804AE4C663CAB28E03770F98@SHSMSX101.ccr.corp.intel.com>
Date: Fri, 4 Mar 2016 02:32:00 +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 4/4] migration: filter out guest's free pages in ram
bulk stage
> On Thu, 3 Mar 2016 18:44:28 +0800
> Liang Li <liang.z.li@...el.com> wrote:
>
> > Get the free pages information through virtio and filter out the free
> > pages in the ram bulk stage. This can significantly reduce the total
> > live migration time as well as network traffic.
> >
> > Signed-off-by: Liang Li <liang.z.li@...el.com>
> > ---
> > migration/ram.c | 52
> > ++++++++++++++++++++++++++++++++++++++++++++++------
> > 1 file changed, 46 insertions(+), 6 deletions(-)
> >
>
> > @@ -1945,6 +1971,20 @@ static int ram_save_setup(QEMUFile *f, void
> *opaque)
> > DIRTY_MEMORY_MIGRATION);
> > }
> > memory_global_dirty_log_start();
> > +
> > + if (balloon_free_pages_support() &&
> > + balloon_get_free_pages(migration_bitmap_rcu->free_pages_bmap,
> > + &free_pages_count) == 0) {
> > + qemu_mutex_unlock_iothread();
> > + while (balloon_get_free_pages(migration_bitmap_rcu-
> >free_pages_bmap,
> > + &free_pages_count) == 0) {
> > + usleep(1000);
> > + }
> > + qemu_mutex_lock_iothread();
> > +
> > +
> > + filter_out_guest_free_pages(migration_bitmap_rcu-
> >free_pages_bmap);
>
> A general comment: Using the ballooner to get information about pages that
> can be filtered out is too limited (there may be other ways to do this; we
> might be able to use cmma on s390, for example), and I don't like hardcoding
> to a specific method.
>
> What about the reverse approach: Code may register a handler that
> populates the free_pages_bitmap which is called during this stage?
Good suggestion, thanks!
Liang
> <I like the idea of filtering in general, but I haven't looked at the code yet>
>
Powered by blists - more mailing lists