Skip to content

Commit 1ebdbeb

Browse files
committed
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull kvm updates from Paolo Bonzini: "ARM: - Proper emulation of the OSLock feature of the debug architecture - Scalibility improvements for the MMU lock when dirty logging is on - New VMID allocator, which will eventually help with SVA in VMs - Better support for PMUs in heterogenous systems - PSCI 1.1 support, enabling support for SYSTEM_RESET2 - Implement CONFIG_DEBUG_LIST at EL2 - Make CONFIG_ARM64_ERRATUM_2077057 default y - Reduce the overhead of VM exit when no interrupt is pending - Remove traces of 32bit ARM host support from the documentation - Updated vgic selftests - Various cleanups, doc updates and spelling fixes RISC-V: - Prevent KVM_COMPAT from being selected - Optimize __kvm_riscv_switch_to() implementation - RISC-V SBI v0.3 support s390: - memop selftest - fix SCK locking - adapter interruptions virtualization for secure guests - add Claudio Imbrenda as maintainer - first step to do proper storage key checking x86: - Continue switching kvm_x86_ops to static_call(); introduce static_call_cond() and __static_call_ret0 when applicable. - Cleanup unused arguments in several functions - Synthesize AMD 0x80000021 leaf - Fixes and optimization for Hyper-V sparse-bank hypercalls - Implement Hyper-V's enlightened MSR bitmap for nested SVM - Remove MMU auditing - Eager splitting of page tables (new aka "TDP" MMU only) when dirty page tracking is enabled - Cleanup the implementation of the guest PGD cache - Preparation for the implementation of Intel IPI virtualization - Fix some segment descriptor checks in the emulator - Allow AMD AVIC support on systems with physical APIC ID above 255 - Better API to disable virtualization quirks - Fixes and optimizations for the zapping of page tables: - Zap roots in two passes, avoiding RCU read-side critical sections that last too long for very large guests backed by 4 KiB SPTEs. - Zap invalid and defunct roots asynchronously via concurrency-managed work queue. - Allowing yielding when zapping TDP MMU roots in response to the root's last reference being put. - Batch more TLB flushes with an RCU trick. Whoever frees the paging structure now holds RCU as a proxy for all vCPUs running in the guest, i.e. to prolongs the grace period on their behalf. It then kicks the the vCPUs out of guest mode before doing rcu_read_unlock(). Generic: - Introduce __vcalloc and use it for very large allocations that need memcg accounting" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (246 commits) KVM: use kvcalloc for array allocations KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2 kvm: x86: Require const tsc for RT KVM: x86: synthesize CPUID leaf 0x80000021h if useful KVM: x86: add support for CPUID leaf 0x80000021 KVM: x86: do not use KVM_X86_OP_OPTIONAL_RET0 for get_mt_mask Revert "KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range()" kvm: x86/mmu: Flush TLB before zap_gfn_range releases RCU KVM: arm64: fix typos in comments KVM: arm64: Generalise VM features into a set of flags KVM: s390: selftests: Add error memop tests KVM: s390: selftests: Add more copy memop tests KVM: s390: selftests: Add named stages for memop test KVM: s390: selftests: Add macro as abstraction for MEM_OP KVM: s390: selftests: Split memop tests KVM: s390x: fix SCK locking RISC-V: KVM: Implement SBI HSM suspend call RISC-V: KVM: Add common kvm_riscv_vcpu_wfi() function RISC-V: Add SBI HSM suspend related defines RISC-V: KVM: Implement SBI v0.3 SRST extension ...
2 parents efee6c7 + c9b8fec commit 1ebdbeb

143 files changed

Lines changed: 6279 additions & 2516 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2366,13 +2366,35 @@
23662366
kvm.ignore_msrs=[KVM] Ignore guest accesses to unhandled MSRs.
23672367
Default is 0 (don't ignore, but inject #GP)
23682368

2369+
kvm.eager_page_split=
2370+
[KVM,X86] Controls whether or not KVM will try to
2371+
proactively split all huge pages during dirty logging.
2372+
Eager page splitting reduces interruptions to vCPU
2373+
execution by eliminating the write-protection faults
2374+
and MMU lock contention that would otherwise be
2375+
required to split huge pages lazily.
2376+
2377+
VM workloads that rarely perform writes or that write
2378+
only to a small region of VM memory may benefit from
2379+
disabling eager page splitting to allow huge pages to
2380+
still be used for reads.
2381+
2382+
The behavior of eager page splitting depends on whether
2383+
KVM_DIRTY_LOG_INITIALLY_SET is enabled or disabled. If
2384+
disabled, all huge pages in a memslot will be eagerly
2385+
split when dirty logging is enabled on that memslot. If
2386+
enabled, eager page splitting will be performed during
2387+
the KVM_CLEAR_DIRTY ioctl, and only for the pages being
2388+
cleared.
2389+
2390+
Eager page splitting currently only supports splitting
2391+
huge pages mapped by the TDP MMU.
2392+
2393+
Default is Y (on).
2394+
23692395
kvm.enable_vmware_backdoor=[KVM] Support VMware backdoor PV interface.
23702396
Default is false (don't support).
23712397

2372-
kvm.mmu_audit= [KVM] This is a R/W parameter which allows audit
2373-
KVM MMU at runtime.
2374-
Default is 0 (off)
2375-
23762398
kvm.nx_huge_pages=
23772399
[KVM] Controls the software workaround for the
23782400
X86_BUG_ITLB_MULTIHIT bug.

0 commit comments

Comments
 (0)