linux/arch/powerpc
Nicholas Piggin d3c8a2d374 KVM: PPC: Book3S HV: Don't always save PMU for guest capable of nesting
Provide a config option that controls the workaround added by commit
63279eeb7f ("KVM: PPC: Book3S HV: Always save guest pmu for guest
capable of nesting"). The option defaults to y for now, but is expected
to go away within a few releases.

Nested capable guests running with the earlier commit 1782663897
("KVM: PPC: Book3S HV Nested: Reflect guest PMU in-use to L0 when guest
SPRs are live") will now indicate the PMU in-use status of their guests,
which means the parent does not need to unconditionally save the PMU for
nested capable guests.

After this latest round of performance optimisations, this option costs
about 540 cycles or 10% entry/exit performance on a POWER9 nested-capable
guest.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
References: 1782663897 ("KVM: PPC: Book3S HV Nested: Reflect guest PMU in-use to L0 when guest SPRs are live")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20211123095231.1036501-11-npiggin@gmail.com
2021-11-24 21:08:57 +11:00
..
boot powerpc updates for 5.16 2021-11-05 08:15:46 -07:00
configs Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
crypto crypto: powepc/sha1 - remove unneeded semicolon 2021-03-07 15:13:14 +11:00
include powerpc/time: add API for KVM to re-arm the host timer/decrementer 2021-11-24 21:08:57 +11:00
kernel powerpc/64s: Keep AMOR SPR a constant ~0 at runtime 2021-11-24 21:08:57 +11:00
kexec powerpc/machdep: Remove stale functions from ppc_md structure 2021-10-22 15:22:05 +11:00
kvm KVM: PPC: Book3S HV: Don't always save PMU for guest capable of nesting 2021-11-24 21:08:57 +11:00
lib Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
math-emu powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
mm powerpc/64s: Keep AMOR SPR a constant ~0 at runtime 2021-11-24 21:08:57 +11:00
net powerpc updates for 5.16 2021-11-05 08:15:46 -07:00
perf powerpc updates for 5.16 2021-11-05 08:15:46 -07:00
platforms powerpc/64s: Keep AMOR SPR a constant ~0 at runtime 2021-11-24 21:08:57 +11:00
purgatory powerpc/kexec: Don't use .machine ppc64 in trampoline_64.S 2021-04-08 21:17:43 +10:00
sysdev powerpc/xive: Change IRQ domain to a tree domain 2021-11-17 21:55:42 +11:00
tools powerpc/head_check: Fix shellcheck errors 2021-08-17 22:52:02 +10:00
xmon powerpc/64s: guard optional TIDR SPR with CPU ftr test 2021-11-24 21:08:56 +11:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig powerpc/64s: Default to 64K pages for 64 bit book3s 2021-10-27 22:31:22 +11:00
Kconfig.debug powerpc/ptdump: Convert powerpc to GENERIC_PTDUMP 2021-08-25 13:35:48 +10:00
Makefile Kbuild updates for v5.16 2021-11-08 09:15:45 -08:00
Makefile.postlink powerpc: unrel_branch_check.sh: use nm to find symbol value 2020-09-02 11:00:22 +10:00