2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 06:34:11 +08:00
linux-next/arch/powerpc
Paul Mackerras 5af3e9d06d KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off
This adds code to flush the partition-scoped page tables for a radix
guest when dirty tracking is turned on or off for a memslot.  Only the
guest real addresses covered by the memslot are flushed.  The reason
for this is to get rid of any 2M PTEs in the partition-scoped page
tables that correspond to host transparent huge pages, so that page
dirtiness is tracked at a system page (4k or 64k) granularity rather
than a 2M granularity.  The page tables are also flushed when turning
dirty tracking off so that the memslot's address space can be
repopulated with THPs if possible.

To do this, we add a new function kvmppc_radix_flush_memslot().  Since
this does what's needed for kvmppc_core_flush_memslot_hv() on a radix
guest, we now make kvmppc_core_flush_memslot_hv() call the new
kvmppc_radix_flush_memslot() rather than calling kvm_unmap_radix()
for each page in the memslot.  This has the effect of fixing a bug in
that kvmppc_core_flush_memslot_hv() was previously calling
kvm_unmap_radix() without holding the kvm->mmu_lock spinlock, which
is required to be held.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Reviewed-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-12-17 10:58:51 +11:00
..
boot powerpc fixes for 4.20 #2 2018-11-02 09:19:35 -07:00
configs powerpc/config: Enable CONFIG_PRINTK_TIME 2018-10-03 15:40:06 +10:00
crypto powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
include KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off 2018-12-17 10:58:51 +11:00
kernel powerpc/64: Fix kernel stack 16-byte alignment 2018-11-15 14:48:43 +11:00
kvm KVM: PPC: Book3S HV: Flush guest mappings when turning dirty tracking on/off 2018-12-17 10:58:51 +11:00
lib memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm powerpc/numa: Suppress "VPHN is not supported" messages 2018-11-14 14:32:47 +11:00
net powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
oprofile powerpc updates for 4.20 2018-10-26 14:36:21 -07:00
perf powerpc/8xx: Use patch_site for perf counters setup 2018-10-26 21:58:58 +11:00
platforms powerpc/powernv/npu: Remove NPU DMA ops 2018-11-05 16:05:22 +11:00
purgatory powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
sysdev memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
tools powerpc: Add a checkpatch wrapper with our preferred settings 2018-08-07 21:49:25 +10:00
xmon powerpc/xmon: Relax frame size for clang 2018-10-31 20:39:25 +11:00
Kbuild powerpc: Add -Werror at arch/powerpc level 2018-10-19 00:56:17 +11:00
Kconfig Kbuild updates for v4.20 (2nd) 2018-11-03 10:47:33 -07:00
Kconfig.debug powerpc: remove redundant 'default n' from Kconfig-s 2018-10-13 22:21:25 +11:00
Makefile kbuild: replace cc-name test with CONFIG_CC_IS_CLANG 2018-11-02 22:49:00 +09:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00