KVM: PPC: Book3S HV: Improve live migration of radix guests
Get series with b4
b4 am 20181212041430.GA22265@blackberryVersions newest first
- v1 Latest4 patches 12 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | KVM: PPC: Pass change type down to memslot commit functionarch/ arch/ arch/ +2 more | +12 | 2 replies | |
| 2/4 | KVM: PPC: Book3S HV: Map single pages when doing dirty page loggingarch/ | +6 | 2 replies | |
| 3/4 | KVM: PPC: Book3S HV: Cleanups - constify memslots, fix commentsarch/ arch/ arch/ +2 more | +11 | 2 replies | |
| 4/4 | KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/offarch/ arch/ arch/ +1 more | +44 | 5 replies |
Reviews trailers per patch
All 4 patches have a Reviewed-by or Acked-by.
| Patch | Suraj Jitindar Singh | David Gibson |
|---|---|---|
| 1/4 | R-b | R-b |
| 2/4 | R-b | R-b |
| 3/4 | R-b | R-b |
| 4/4 | R-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
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(-)