Re: [RFC PATCH v3 0/4] Separate thread for VM migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/11/2011 05:32 PM, Umesh Deshpande wrote:
Following patch series deals with VCPU and iothread starvation during the
migration of
a guest. Currently the iothread is responsible for performing the guest
migration. It holds qemu_mutex during the migration and doesn't allow VCPU to
enter the qemu mode and delays its return to the guest. The guest migration,
executed as an iohandler also delays the execution of other iohandlers.
In the following patch series,

The migration has been moved to a separate thread to
reduce the qemu_mutex contention and iohandler starvation.

Umesh Deshpande (4):
   separate thread for VM migration
   synchronous migrate_cancel
   lock to protect memslots
   separate migration bitmap

  arch_init.c         |   26 ++++++++++----
  buffered_file.c     |  100 +++++++++++++++++++++++++++++++++------------------
  buffered_file.h     |    4 ++
  cpu-all.h           |   39 ++++++++++++++++++++
  cpus.c              |   12 ++++++
  exec.c              |   74 +++++++++++++++++++++++++++++++++++++
  hw/hw.h             |    5 ++-
  migration.c         |   50 ++++++++++++--------------
  migration.h         |    6 +++
  qemu-common.h       |    2 +
  qemu-thread-posix.c |   10 +++++
  qemu-thread.h       |    1 +
  savevm.c            |   31 +++++++++++-----
  13 files changed, 280 insertions(+), 80 deletions(-)


Looks quite good. Note that when submitting for inclusion, the last two patches should go first, so that you only add the migration thread after you're race free. If there are parts that do not apply before patches 1/2, that likely means they are in the wrong patch. :)

Thanks,

Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux