linux-stable/arch
David Matlack 837f66c712 KVM: Allow for different capacities in kvm_mmu_memory_cache structs
Allow the capacity of the kvm_mmu_memory_cache struct to be chosen at
declaration time rather than being fixed for all declarations. This will
be used in a follow-up commit to declare an cache in x86 with a capacity
of 512+ objects without having to increase the capacity of all caches in
KVM.

This change requires each cache now specify its capacity at runtime,
since the cache struct itself no longer has a fixed capacity known at
compile time. To protect against someone accidentally defining a
kvm_mmu_memory_cache struct directly (without the extra storage), this
commit includes a WARN_ON() in kvm_mmu_topup_memory_cache().

In order to support different capacities, this commit changes the
objects pointer array to be dynamically allocated the first time the
cache is topped-up.

While here, opportunistically clean up the stack-allocated
kvm_mmu_memory_cache structs in riscv and arm64 to use designated
initializers.

No functional change intended.

Reviewed-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: David Matlack <dmatlack@google.com>
Message-Id: <20220516232138.1783324-22-dmatlack@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-06-24 04:52:00 -04:00
..
alpha Cleanups (and one fix) around struct mount handling. 2022-06-04 19:00:05 -07:00
arc This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
arm This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
arm64 KVM: Allow for different capacities in kvm_mmu_memory_cache structs 2022-06-24 04:52:00 -04:00
csky This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
hexagon fork: Generalize PF_IO_WORKER handling 2022-05-07 09:01:59 -05:00
ia64 Bitmap patches for 5.19-rc1 2022-06-04 14:04:27 -07:00
loongarch LoongArch: Add Loongson-3 default config file 2022-06-03 20:09:29 +08:00
m68k This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
microblaze This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
mips This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
nios2 This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
openrisc This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
parisc Kbuild updates for v5.19 (2nd) 2022-06-05 09:06:03 -07:00
powerpc This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
riscv KVM: Allow for different capacities in kvm_mmu_memory_cache structs 2022-06-24 04:52:00 -04:00
s390 KVM: Move kvm_arch_vcpu_precreate() under kvm->lock 2022-06-08 04:47:28 -04:00
sh This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
sparc This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
um While looking at the ptrace problems with PREEMPT_RT and the problems 2022-06-03 16:13:25 -07:00
x86 KVM: x86/mmu: pull call to drop_large_spte() into __link_shadow_page() 2022-06-24 04:51:59 -04:00
xtensa While looking at the ptrace problems with PREEMPT_RT and the problems 2022-06-03 16:13:25 -07:00
.gitignore
Kconfig A set of objtool fixes: 2022-06-05 09:45:27 -07:00