Patch "KVM: x86: reduce default value of halt_poll_ns parameter" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
KVM: x86: reduce default value of halt_poll_ns parameter
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
kvm-x86-reduce-default-value-of-halt_poll_ns-parameter.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
14ebda3394fd3e5388747e742e510b0802a65d24Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <[email protected]>
Date: Tue, 29 Mar 2016 17:56:57 +0200
Subject: KVM: x86: reduce default value of halt_poll_ns parameter
From: Paolo Bonzini <[email protected]>
commit 14ebda3394fd3e5388747e742e510b0802a65d24 upstream.
Windows lets applications choose the frequency of the timer tick, and in Windows 10 the maximum rate was changed from 1024 Hz to 2048 Hz. Unfortunately, because of the way the Windows API works, most applications who need a higher rate than the default 64 Hz will just do
timeGetDevCaps(&tc, sizeof(tc)); timeBeginPeriod(tc.wPeriodMin);
and pick the maximum rate. This causes very high CPU usage when playing media or games on Windows 10, even if the guest does not actually use the CPU very much, because the frequent timer tick causes halt_poll_ns to kick in.
There is no really good solution, especially because Microsoft could sooner or later bump the limit to 4096 Hz, but for now the best we can do is lower a bit the upper limit for halt_poll_ns. :-(
--- arch/x86/include/asm/kvm_host.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/include/asm/kvm_host.h +1 -1
@@ -41,7 +41,7 @@#define KVM_PIO_PAGE_OFFSET 1#define KVM_COALESCED_MMIO_PAGE_OFFSET 2 -#define KVM_HALT_POLL_NS_DEFAULT 500000 +#define KVM_HALT_POLL_NS_DEFAULT 400000#define KVM_IRQCHIP_NUM_PINS KVM_IOAPIC_NUM_PINS
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/kvm-x86-inject-pending-interrupt-even-if-pending-nmi-exist.patch queue-4.4/kvm-x86-reduce-default-value-of-halt_poll_ns-parameter.patch queue-4.4/compiler-gcc-disable-ftracer-for-__noclone-functions.patch