This small series fixes a number of issues that Christoffer and I have
been trying to nail down for a while, having to do with the host dying
under load (swapping), and also with the way we deal with caches in
general (and with set/way operation in particular):
- The first patch, courtesy of Steve Capper, fixes a long standing
buglet in one of the MMU notifiers.
- The second one changes the way we handle cache ops by set/way,
basically turning them into VA ops for the whole memory. This allows
platforms with system caches to boot a 32bit zImage, for example.
- The third one fixes a corner case that could happen if the guest
used an uncached mapping (or had its caches off) while the host was
swapping it out (and using a cache-coherent IO subsystem).
- Finally, the last one fixes this stability issue when the host was
swapping, by using a kernel mapping for cache maintenance instead of
the userspace one.
With these patches (and both the TLB invalidation fix I posted before
Xmas and the HCR fix posted yesterday), the APM platform seems much
more robust than it was. Fingers crossed.
Based on 3.19-rc3, tested on Juno, X-Gene and Cubietruck.
Also at git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
kvm-arm64/mm-fixes-3.19
Marc Zyngier (3):
arm/arm64: KVM: Use set/way op trapping to track the state of the
caches
arm/arm64: KVM: Flush caches to memory on unmap
arm/arm64: KVM: use kernel mapping to perform invalidation on page
fault
Steve Capper (1):
mm: Correct ordering of *_clear_flush_young_notify
arch/arm/include/asm/kvm_host.h | 3 --
arch/arm/include/asm/kvm_mmu.h | 68 +++++++++++++++++++++----
arch/arm/kvm/arm.c | 10 ----
arch/arm/kvm/coproc.c | 90 +++++++++++++++++++++------------
arch/arm/kvm/mmu.c | 58 +++++++++++++++-------
arch/arm64/include/asm/kvm_host.h | 3 --
arch/arm64/include/asm/kvm_mmu.h | 31 ++++++++++--
arch/arm64/kvm/sys_regs.c | 102 ++++++++++++++++++++++----------------
include/linux/mmu_notifier.h | 8 +--
9 files changed, 244 insertions(+), 129 deletions(-)
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html