All of lore.kernel.org
 help / color / mirror / Atom feed
* [BISECT 4.1.y] [PATCH] regression: kvm: migration hangs guest
@ 2017-01-25 23:50 Eric Wheeler
  2017-01-25 23:58 ` Paolo Bonzini
  2017-03-06 19:11 ` Ben Hutchings
  0 siblings, 2 replies; 7+ messages in thread
From: Eric Wheeler @ 2017-01-25 23:50 UTC (permalink / raw)
  To: kvm
  Cc: stable, Paolo Bonzini, Haozhong Zhang,
	Radim Krčmář,
	Gleb Natapov

Hello All,

We discovered guests hanging when using the 4.1.y kernel after 4.1.16 with 
live migration after CentOS applied this patch to the latest version of 
qemu-kvm user space:
	https://git.centos.org/blob/rpms!!qemu-kvm.git/34b32196890e2c41b0aee042e600ba422f29db17/SOURCES!kvm-target-i386-get-put-MSR_TSC_AUX-across-reset-and-mig.patch

Please also see this Bugzilla entry: 
	https://bugzilla.redhat.com/show_bug.cgi?id=1408333

After a bisect, We found this commit to be causing the hang: 
	8a3185c54d650a86dafc8d8bcafa124b50944315 KVM: x86: expose MSR_TSC_AUX to userspace

It turns out that this is not actually the problem, but rather these 
commits need to be pulled in as well to support the 8a31 commit:
	609e36d372a KVM: x86: pass host_initiated to functions that read MSRs
	81b1b9ca6d5 KVM: VMX: Fix host initiated access to guest MSR_TSC_AUX

Thus, we need to either:
	1. Revert commit 8a3185c54d650a86dafc8d8bcafa124b50944315
		- or - 
	2. Merge commits 609e36d372a and 81b1b9ca6d5 into 4.1.y.

If you choose the latter options, then please see below for the backport
patch of 81b1b9ca6d5 (609e36d372a cherry-picks just fine).

What do you believe would be best?

--
Eric Wheeler



>From 788baceebe8a7bbfab4da82caebbca8cdf188e1a Mon Sep 17 00:00:00 2001
From: Haozhong Zhang <haozhong.zhang@intel.com>
Date: Mon, 14 Dec 2015 23:13:38 +0800
Subject: [PATCH] KVM: VMX: Fix host initiated access to guest MSR_TSC_AUX

The current handling of accesses to guest MSR_TSC_AUX returns error if
vcpu does not support rdtscp, though those accesses are initiated by
host. This can result in the reboot failure of some versions of
QEMU. This patch fixes this issue by passing those host initiated
accesses for further handling instead.

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Conflicts:
	arch/x86/kvm/vmx.c
---
 arch/x86/kvm/vmx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 341ea55..6b219a7 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -2697,7 +2697,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
 		data = vcpu->arch.ia32_xss;
 		break;
 	case MSR_TSC_AUX:
-		if (!to_vmx(vcpu)->rdtscp_enabled)
+		if (!to_vmx(vcpu)->rdtscp_enabled && !msr_info->host_initiated)
 			return 1;
 		/* Otherwise falls through */
 	default:
@@ -2804,7 +2804,7 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 			clear_atomic_switch_msr(vmx, MSR_IA32_XSS);
 		break;
 	case MSR_TSC_AUX:
-		if (!vmx->rdtscp_enabled)
+		if (!vmx->rdtscp_enabled && !msr_info->host_initiated)
 			return 1;
 		/* Check reserved bit, higher 32 bits should be zero */
 		if ((data >> 32) != 0)
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-03-06 19:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-25 23:50 [BISECT 4.1.y] [PATCH] regression: kvm: migration hangs guest Eric Wheeler
2017-01-25 23:58 ` Paolo Bonzini
2017-01-26 23:29   ` Eric Wheeler
2017-01-27  6:21     ` Philipp Hahn
2017-02-09 21:34       ` Eric Wheeler
2017-02-15 18:36         ` Eric Wheeler
2017-03-06 19:11 ` Ben Hutchings

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.