[pve-devel] [PATCH kernel] By default disable the new dynamic halt polling behavior

Wolfgang Bumiller w.bumiller at proxmox.com
Thu May 12 12:51:49 CEST 2016


The default behavior introduced by kernel commit aca6ff29c
(KVM: dynamic halt-polling) causes a spike in cpu usage and
massive performance degradation with virtio network under
network load. This patch changes the newly introduced kvm
module parameters to reflect the old behavior.
---
 Makefile                                       |  1 +
 kvm-dynamic-halt-polling-disable-default.patch | 12 ++++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 kvm-dynamic-halt-polling-disable-default.patch

diff --git a/Makefile b/Makefile
index 5851d9d..7fb83d5 100644
--- a/Makefile
+++ b/Makefile
@@ -242,6 +242,7 @@ ${KERNEL_SRC}/README ${KERNEL_CFG_ORG}: ${KERNELSRCTAR}
 	cd ${KERNEL_SRC}; patch -p1 < ../CVE-2016-4485-net-fix-infoleak-in-llc.patch
 	cd ${KERNEL_SRC}; patch -p1 < ../CVE-2016-4486-net-fix-infoleak-in-rtnetlink.patch
 	cd ${KERNEL_SRC}; patch -p1 < ../CVE-2016-4558-bpf-fix-refcnt-overflow.patch
+	cd ${KERNEL_SRC}; patch -p1 < ../kvm-dynamic-halt-polling-disable-default.patch
 	sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/'
 	touch $@
 
diff --git a/kvm-dynamic-halt-polling-disable-default.patch b/kvm-dynamic-halt-polling-disable-default.patch
new file mode 100644
index 0000000..dcf1dee
--- /dev/null
+++ b/kvm-dynamic-halt-polling-disable-default.patch
@@ -0,0 +1,12 @@
+diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
+--- a/virt/kvm/kvm_main.c 2016-05-12 10:39:37.540387127 +0200
++++ b/virt/kvm/kvm_main.c 2016-05-04 10:43:38.063996221 +0200
+@@ -71,7 +71,7 @@ static unsigned int halt_poll_ns = KVM_H
+ module_param(halt_poll_ns, uint, S_IRUGO | S_IWUSR);
+
+ /* Default doubles per-vcpu halt_poll_ns. */
+-static unsigned int halt_poll_ns_grow = 2;
++static unsigned int halt_poll_ns_grow = 0;
+ module_param(halt_poll_ns_grow, int, S_IRUGO);
+
+ /* Default resets per-vcpu halt_poll_ns . */
-- 
2.1.4





More information about the pve-devel mailing list