[Impact]
* VMs have a high chance to hit guest migration issues if more than one guest migration happens at a time, while using THP on ppc64le.
* Migrating VMs in parallel will cause at least one guest to crash about half the time. Since VM migration is a upgrade/uptime strategy this has a fairly large customer impact.
* The uploaded patches correct the behavior of THP on guests. They are available on v4.18.x onwards.
------- Comment From <email address hidden> 2019-03-14 15:47 EDT-------
Patchset SRU
[Impact]
* VMs have a high chance to hit guest migration issues if more than one guest migration happens at a time, while using THP on ppc64le.
* Migrating VMs in parallel will cause at least one guest to crash about half the time. Since VM migration is a upgrade/uptime strategy this has a fairly large customer impact.
* The uploaded patches correct the behavior of THP on guests. They are available on v4.18.x onwards.
[Test Case]
* One can reproduce the bug by trying two guest migrations, at the same time, following this instructions on comment 12: https:/ /bugs.launchpad .net/ubuntu/ +source/ qemu/+bug/ 1788098/ comments/ 12
[Regression Potential]
* These patches are already on linux-stable since v4.18.15 (also on hwe), so there is low regression chance.
8afc7da95a7e [Bionic] KVM: PPC: Book3S HV: Avoid crash from THP collapse during radix page fault radix_tlbie_ page pfn_memslot( ) in page fault handler
82f7758a9c99 [Bionic] KVM: PPC: Book3S HV: Don't use compound_order to determine host mapping size
b0f7664dc993 [Bionic] KVM: PPC: Book3S HV: Use correct pagesize in kvm_unmap_radix()
1991612ab005 [Bionic] KVM: PPC: Book3S HV: radix: Do not clear partition PTE when RC or write bits do not match
04fea11aa5fe [Bionic] KVM: PPC: Book3S HV: radix: Refine IO region partition scope attributes
9037e89d8093 [Bionic] KVM: PPC: Book3S HV: Make radix handle process scoped LPID flush in C, with relocation on
ed0a86a433c7 [Bionic] KVM: PPC: Book3S HV: Make radix use the Linux translation flush functions for partition scope
0effe5dc3cf4 [Bionic] KVM: PPC: Book3S HV: Recursively unmap all page table entries when unmapping
42cbaef5361b [Bionic] KVM: PPC: Book3S HV: Use a helper to unmap ptes in the radix fault path
414207e08540 [Bionic] powerpc/mm/radix: implement LPID based TLB flushes to be used by KVM
eb2a70df7099 [Bionic] powerpc/mm/radix: Remove unused code
ad052e60a417 [Bionic] powerpc/kvm: Switch kvm pmd allocator to custom allocator
bb2c03e387f4 [Bionic] KVM: PPC: Book 3S HV: Do ptesync in radix guest exit path
699642e0a4f8 [Bionic] KVM: PPC: Book3S HV: Make radix clear pte when unmapping
297755f60b17 [Bionic] KVM: PPC: Book3S HV: Make radix use correct tlbie sequence in kvmppc_
d5f5570b7df4 [Bionic] KVM: PPC: Book3S HV: Use __gfn_to_
b0adb3223100 [Bionic] KVM: PPC: Book3S HV: Handle 1GB pages in radix page fault handler
5be468e7408b [Bionic] KVM: PPC: Book3S HV: Streamline setting of reference and change bits
860816ea1680 [Bionic] KVM: PPC: Book3S HV: Radix page fault handler optimizations
7fe24f427a09 [Bionic] KVM: PPC: Remove unused kvm_unmap_hva callback