Skip to content

KVM: PPC: Book3S HV: Improve live migration of radix guests

Paul Mackerras kvm kvm-ppc 1 version In review

Get series with b4
b4 am 20181212041430.GA22265@blackberry

Versions newest first

  1. v1 Latest4 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4KVM: PPC: Pass change type down to memslot commit functionarch/powerpc/include/asm/kvm_ppc.h arch/powerpc/kvm/book3s.c arch/powerpc/kvm/book3s_hv.c +2 more+12 -72 replies
2/4KVM: PPC: Book3S HV: Map single pages when doing dirty page loggingarch/powerpc/kvm/book3s_64_mmu_radix.c+6 -22 replies
3/4KVM: PPC: Book3S HV: Cleanups - constify memslots, fix commentsarch/powerpc/include/asm/kvm_book3s.h arch/powerpc/include/asm/kvm_book3s_64.h arch/powerpc/kvm/book3s_64_mmu_radix.c +2 more+11 -132 replies
4/4KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/offarch/powerpc/include/asm/kvm_book3s.h arch/powerpc/kvm/book3s_64_mmu_hv.c arch/powerpc/kvm/book3s_64_mmu_radix.c +1 more+44 -45 replies

Reviews trailers per patch

All 4 patches have a Reviewed-by or Acked-by.

PatchSuraj Jitindar SinghDavid Gibson
1/4R-b R-b
2/4R-b R-b
3/4R-b R-b
4/4R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

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

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(-)