[pve-devel] [PATCH kernel] By default disable the new dynamic halt polling behavior
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 000..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@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
Re: [pve-devel] [PATCH kernel] By default disable the new dynamic halt polling behavior
applied ___ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
Re: [pve-devel] [PATCH kernel] By default disable the new dynamic halt polling behavior
Does upstream know about this? Stefan Excuse my typo sent from my mobile phone. > Am 12.05.2016 um 12:51 schrieb Wolfgang Bumiller : > > 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 000..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@pve.proxmox.com > http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ___ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
Re: [pve-devel] [PATCH kernel] By default disable the new dynamic halt polling behavior
>>Does upstream know about this? I don't have seen any report. Maybe could we try to contact paolo bonzini from redhat. - Mail original - De: "Stefan Priebe" À: "pve-devel" Envoyé: Vendredi 13 Mai 2016 07:52:05 Objet: Re: [pve-devel] [PATCH kernel] By default disable the new dynamic halt polling behavior Does upstream know about this? Stefan Excuse my typo sent from my mobile phone. > Am 12.05.2016 um 12:51 schrieb Wolfgang Bumiller : > > 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 000..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@pve.proxmox.com > http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ___ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel ___ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
Re: [pve-devel] [PATCH kernel] By default disable the new dynamic halt polling behavior
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 : > > > > 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 000..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@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel