mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
KVM: X86: Provide a capability to disable MWAIT intercepts
Allowing a guest to execute MWAIT without interception enables a guest to put a (physical) CPU into a power saving state, where it takes longer to return from than what may be desired by the host. Don't give a guest that power over a host by default. (Especially, since nothing prevents a guest from using MWAIT even when it is not advertised via CPUID.) Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Cc: Jan H. Schönherr <jschoenh@amazon.de> Signed-off-by: Wanpeng Li <wanpengli@tencent.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
4956aa3b8b
commit
4d5422cea3
8 changed files with 53 additions and 25 deletions
|
@ -4358,6 +4358,24 @@ enables QEMU to build error log and branch to guest kernel registered
|
|||
machine check handling routine. Without this capability KVM will
|
||||
branch to guests' 0x200 interrupt vector.
|
||||
|
||||
7.13 KVM_CAP_X86_DISABLE_EXITS
|
||||
|
||||
Architectures: x86
|
||||
Parameters: args[0] defines which exits are disabled
|
||||
Returns: 0 on success, -EINVAL when args[0] contains invalid exits
|
||||
|
||||
Valid bits in args[0] are
|
||||
|
||||
#define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0)
|
||||
|
||||
Enabling this capability on a VM provides userspace with a way to no
|
||||
longer intercept some instructions for improved latency in some
|
||||
workloads, and is suggested when vCPUs are associated to dedicated
|
||||
physical CPUs. More bits can be added in the future; userspace can
|
||||
just pass the KVM_CHECK_EXTENSION result to KVM_ENABLE_CAP to disable
|
||||
all such vmexits.
|
||||
|
||||
|
||||
8. Other capabilities.
|
||||
----------------------
|
||||
|
||||
|
@ -4470,15 +4488,6 @@ reserved.
|
|||
Both registers and addresses are 64-bits wide.
|
||||
It will be possible to run 64-bit or 32-bit guest code.
|
||||
|
||||
8.8 KVM_CAP_X86_GUEST_MWAIT
|
||||
|
||||
Architectures: x86
|
||||
|
||||
This capability indicates that guest using memory monotoring instructions
|
||||
(MWAIT/MWAITX) to stop the virtual CPU will not cause a VM exit. As such time
|
||||
spent while virtual CPU is halted in this way will then be accounted for as
|
||||
guest running time on the host (as opposed to e.g. HLT).
|
||||
|
||||
8.9 KVM_CAP_ARM_USER_IRQ
|
||||
|
||||
Architectures: arm, arm64
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue