[PATCH 0/4] KVM: PPC: Book3S HV: Improve live migration of radix guests

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

 



We have observed that live migration of radix guests tends to converge
slowly and sometimes doesn't converge at all.  This appears to be due
largely to the fact that if the host is using transparent huge pages,
page dirtiness only gets tracked with a 2MB granularity for the parts
of the guest memory that are mapped using 2MB pages.  The fix is to
break down the mappings in the partition-scoped page tables to 64k
pages (or 4k pages if 4k is the system page size).  This is
accomplished by flushing the partition-scoped page tables when turning
dirty page tracking on or off, and by only inserting small-page PTEs
into the partition-scoped page tables while dirty page tracking is
enabled.

Paul.

 arch/powerpc/include/asm/kvm_book3s.h    | 11 +++++-----
 arch/powerpc/include/asm/kvm_book3s_64.h |  2 +-
 arch/powerpc/include/asm/kvm_ppc.h       |  6 ++++--
 arch/powerpc/kvm/book3s.c                |  5 +++--
 arch/powerpc/kvm/book3s_64_mmu_hv.c      |  9 ++++----
 arch/powerpc/kvm/book3s_64_mmu_radix.c   | 37 ++++++++++++++++++++++++++------
 arch/powerpc/kvm/book3s_hv.c             | 20 ++++++++++++++++-
 arch/powerpc/kvm/book3s_hv_nested.c      |  2 +-
 arch/powerpc/kvm/book3s_hv_rm_mmu.c      |  2 +-
 arch/powerpc/kvm/book3s_pr.c             |  3 ++-
 arch/powerpc/kvm/powerpc.c               |  2 +-
 11 files changed, 73 insertions(+), 26 deletions(-)



[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