Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1349794

RE: [RFC qemu 4/4] migration: filter out guest's free pages in ram bulk stage

From "Li, Liang Z" <liang.z.li@intel.com>
Newsgroups linux.kernel
Subject RE: [RFC qemu 4/4] migration: filter out guest's free pages in ram bulk stage
Date 2016-03-04 03:40 +0100
Message-ID <r8NON-8h2-5@gated-at.bofh.it> (permalink)
References <r8z97-5Rb-3@gated-at.bofh.it> <r8z97-5Rb-1@gated-at.bofh.it> <r8Aoy-6Zk-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


> On Thu,  3 Mar 2016 18:44:28 +0800
> Liang Li <liang.z.li@intel.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@intel.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>
> 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC qemu 4/4] migration: filter out guest's free pages in ram bulk stage Liang Li <liang.z.li@intel.com> - 2016-03-03 12:00 +0100
  Re: [RFC qemu 4/4] migration: filter out guest's free pages in ram  bulk stage Cornelia Huck <cornelia.huck@de.ibm.com> - 2016-03-03 13:20 +0100
    RE: [RFC qemu 4/4] migration: filter out guest's free pages in ram  bulk stage "Li, Liang Z" <liang.z.li@intel.com> - 2016-03-04 03:40 +0100
  Re: [Qemu-devel] [RFC qemu 4/4] migration: filter out guest's free  pages in ram bulk stage "Daniel P. Berrange" <berrange@redhat.com> - 2016-03-03 13:50 +0100
    RE: [Qemu-devel] [RFC qemu 4/4] migration: filter out guest's free  pages in ram bulk stage "Li, Liang Z" <liang.z.li@intel.com> - 2016-03-04 03:50 +0100

csiph-web