On Wed, Apr 13, 2016 at 12:15:38PM +0100, Dr. David Alan Gilbert wrote: > * Michael S. Tsirkin (m...@redhat.com) 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 / dgilb...@redhat.com / Manchester, UK