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

Stefan Priebe - Profihost AG s.priebe at profihost.ag
Fri May 13 07:52:05 CEST 2016


Does upstream know about this?

Stefan

Excuse my typo sent from my mobile phone.

> Am 12.05.2016 um 12:51 schrieb Wolfgang Bumiller <w.bumiller at proxmox.com>:
> 
> 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
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel



More information about the pve-devel mailing list