All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] safety of migration_bitmap_extend
@ 2015-11-03 12:23 Dr. David Alan Gilbert
  2015-11-03 12:55 ` Juan Quintela
  0 siblings, 1 reply; 9+ messages in thread
From: Dr. David Alan Gilbert @ 2015-11-03 12:23 UTC (permalink / raw)
  To: lizhijian, den, quintela; +Cc: qemu-devel

Hi,
  I'm trying to understand why migration_bitmap_extend is correct/safe;
If I understand correctly, you're arguing that:

  1) the migration_bitmap_mutex around the extend, stops any sync's happening
     and so no new bits will be set during the extend.

  2) If migration sends a page and clears a bitmap entry, it doesn't
     matter if we lose the 'clear' because we're copying it as
     we extend it, because losing the clear just means the page
     gets resent, and so the data is OK.

However, doesn't (2) mean that migration_dirty_pages might be wrong?
If a page was sent, the bit cleared, and migration_dirty_pages decremented,
then if we copy over that bitmap and 'set' that bit again then migration_dirty_pages
is too small; that means that either migration would finish too early,
or more likely, migration_dirty_pages would wrap-around -ve and
never finish.

Is there a reason it's really safe?

Dave

--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-11-13  8:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-03 12:23 [Qemu-devel] safety of migration_bitmap_extend Dr. David Alan Gilbert
2015-11-03 12:55 ` Juan Quintela
2015-11-03 13:47   ` Dr. David Alan Gilbert
2015-11-04  3:10     ` Wen Congyang
2015-11-04  9:05       ` Dr. David Alan Gilbert
2015-11-04  9:13         ` Wen Congyang
2015-11-04  9:19           ` Dr. David Alan Gilbert
2015-11-12  8:33             ` Wen Congyang
2015-11-13  8:55               ` Li Zhijian

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.