Skip to contentSkip to conversation

Patch "kvm: cap halt polling at exactly halt_poll_ns" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Mar 12, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

kvm: cap halt polling at exactly halt_poll_ns

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-cap-halt-polling-at-exactly-halt_poll_ns.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 313f636d5c490c9741d3f750dc8da33029edbc6b Mon Sep 17 00:00:00 2001

From: David Matlack <[email protected]>
Date: Tue, 8 Mar 2016 16:19:44 -0800
Subject: kvm: cap halt polling at exactly halt_poll_ns

From: David Matlack <[email protected]>

commit 313f636d5c490c9741d3f750dc8da33029edbc6b upstream.

When growing halt-polling, there is no check that the poll time exceeds the limit. It's possible for vcpu->halt_poll_ns grow once past halt_poll_ns, and stay there until a halt which takes longer than vcpu->halt_poll_ns. For example, booting a Linux guest with halt_poll_ns=11000:

... kvm:kvm_halt_poll_ns: vcpu 0: halt_poll_ns 0 (shrink 10000) ... kvm:kvm_halt_poll_ns: vcpu 0: halt_poll_ns 10000 (grow 0) ... kvm:kvm_halt_poll_ns: vcpu 0: halt_poll_ns 20000 (grow 10000)

Fixes aca6ff29c4063a8d467cdee241e6b3bf7dc4a171
---
 virt/kvm/kvm_main.c |    3 +++
 1 file changed, 3 insertions(+)
virt/kvm/kvm_main.c +3 -0
@@ -1961,6 +1961,9 @@ static void grow_halt_poll_ns(struct kvm
 	else
 		val *= halt_poll_ns_grow;
 
+	if (val > halt_poll_ns)
+		val = halt_poll_ns;
+
 	vcpu->halt_poll_ns = val;
 	trace_kvm_halt_poll_ns_grow(vcpu->vcpu_id, val, old);
 }

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/kvm-cap-halt-polling-at-exactly-halt_poll_ns.patch