[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released b
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released by virtio-balloon driver. |
Date: |
Wed, 13 Apr 2016 14:36:28 +0300 |
On Wed, Apr 13, 2016 at 12:15:38PM +0100, Dr. David Alan Gilbert wrote:
> * Michael S. Tsirkin (address@hidden) wrote:
> > On Wed, Apr 13, 2016 at 04:24:55PM +0530, Jitendra Kolhe wrote:
> > > Can we extend support for post-copy in a different patch set?
> >
> > If the optimization does not *help* on some paths,
> > that's fine. The issue is with adding extra code
> > special-casing protocols:
> >
> > + if (migrate_postcopy_ram()) {
> > + balloon_bitmap_disable_state = BALLOON_BITMAP_DISABLE_PERMANENT;
> > + }
> >
> > Generally when one sees that patchset breaks XYZ...
> > the easy solution is "check for XYZ
> > and disable the optimization". But do this enough times
> > and the codebase becomes impossible to reason about.
> > why did migration become slower? oh it enabled
> > optimization A and that conflicts with optimization B ...
>
> Hang on; this is getting all very complicated; I wouldn't start tieing
> this thing up with postcopy yet. Lets try and keep this simple for starters.
>
> Dave
Absolutely, but I don't understand why is this implemented in such
a complex way.
1. keep track of pages in balloon in a bitmap
2. put bitmap in a ram block
3. check that before sending page. if there - it's a zero page
All the complexity is to avoid migrating an extra bit per page
and it seems like a premature optimization to me at this stage.
> >
> >
> > > and use
> > > current patch set to support other remaining protocols?
> >
> > Even disregarding postcopy, I think there were
> > comments that need to be addressed.
> >
> > --
> > MST
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK