Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756548AbZJLMhz (ORCPT ); Mon, 12 Oct 2009 08:37:55 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756496AbZJLMhz (ORCPT ); Mon, 12 Oct 2009 08:37:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31391 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756481AbZJLMhy convert rfc822-to-8bit (ORCPT ); Mon, 12 Oct 2009 08:37:54 -0400 Date: Mon, 12 Oct 2009 08:34:51 -0400 From: Chuck Ebbert To: Thomas Voegtle Cc: Greg KH , linux-kernel@vger.kernel.org, stable@kernel.org, akpm@linux-foundation.org, torvalds@linux-foundation.org, stable-review@kernel.org, alan@lxorguk.ukuu.org.uk, joerg.roedel@amd.com Subject: Re: [Stable-review] [patch 00/26] 2.6.31.4-stable review Message-ID: <20091012083451.303d9f10@katamari.usersys.redhat.com> In-Reply-To: References: <20091009231249.GA31084@kroah.com> <20091009233812.GA15982@kroah.com> Organization: Red Hat, Inc. Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1956 Lines: 56 On Mon, 12 Oct 2009 13:09:56 +0200 (CEST) Thomas Voegtle wrote: > arch/x86/kvm/svm.c: In function 'svm_vcpu_load': > arch/x86/kvm/svm.c:713: error: 'struct vcpu_svm' has no member named > 'nested' Replacement patch for: kvm-svm-fix-tsc-offset-adjustment-when-running-nested.patch Fixes: arch/x86/kvm/svm.c: In function 'svm_vcpu_load': arch/x86/kvm/svm.c:713: error: 'struct vcpu_svm' has no member named 'nested' >From 77b1ab1732feb5e3dcbaf31d2f7547c5229f5f3a Mon Sep 17 00:00:00 2001 From: Joerg Roedel Date: Wed, 16 Sep 2009 15:24:17 +0200 Subject: KVM: SVM: Fix tsc offset adjustment when running nested From: Joerg Roedel commit 77b1ab1732feb5e3dcbaf31d2f7547c5229f5f3a upstream. [ backport to 2.6.31 by Chuck Ebbert ] When svm_vcpu_load is called while the vcpu is running in guest mode the tsc adjustment made there is lost on the next emulated #vmexit. This causes the tsc running backwards in the guest. This patch fixes the issue by also adjusting the tsc_offset in the emulated hsave area so that it will not get lost. Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti Signed-off-by: Greg Kroah-Hartman --- arch/x86/kvm/svm.c | 2 ++ 1 file changed, 2 insertions(+) --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -709,6 +709,8 @@ static void svm_vcpu_load(struct kvm_vcp rdtscll(tsc_this); delta = vcpu->arch.host_tsc - tsc_this; svm->vmcb->control.tsc_offset += delta; + if (is_nested(svm)) + svm->hsave->control.tsc_offset += delta; vcpu->cpu = cpu; kvm_migrate_timers(vcpu); svm->asid_generation = 0; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/