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

Wolfgang Bumiller w.bumiller at proxmox.com
Fri May 13 09:07:10 CEST 2016


On Fri, May 13, 2016 at 07:52:05AM +0200, Stefan Priebe - Profihost AG wrote:
> Does upstream know about this?

Just added: https://bugzilla.kernel.org/show_bug.cgi?id=118191
(I meant to do that yesterday already but got distracted...)

> > 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




More information about the pve-devel mailing list