[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 Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux