From patchwork Wed Aug 10 20:02:04 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Bader X-Patchwork-Id: 109436 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from chlorine.canonical.com (chlorine.canonical.com [91.189.94.204]) by ozlabs.org (Postfix) with ESMTP id 751F7B6F8A for ; Thu, 11 Aug 2011 06:02:28 +1000 (EST) Received: from localhost ([127.0.0.1] helo=chlorine.canonical.com) by chlorine.canonical.com with esmtp (Exim 4.71) (envelope-from ) id 1QrEyg-0002el-Cz; Wed, 10 Aug 2011 20:02:10 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by chlorine.canonical.com with esmtp (Exim 4.71) (envelope-from ) id 1QrEye-0002eg-Ni for kernel-team@lists.ubuntu.com; Wed, 10 Aug 2011 20:02:08 +0000 Received: from 72-254-82-132.client.stsn.net ([72.254.82.132] helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1QrEyd-0004Zb-EZ for kernel-team@lists.ubuntu.com; Wed, 10 Aug 2011 20:02:08 +0000 From: Stefan Bader To: kernel-team@lists.ubuntu.com Subject: [Natty SRU] KVM: fix kvmclock regression due to missing clock update Date: Wed, 10 Aug 2011 15:02:04 -0500 Message-Id: <1313006524-20742-1-git-send-email-stefan.bader@canonical.com> X-Mailer: git-send-email 1.7.4.1 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.13 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: kernel-team-bounces@lists.ubuntu.com Errors-To: kernel-team-bounces@lists.ubuntu.com SRU Justification: Impact: An upstream change in the kvm code in 2.6.37 causes regressions running 32bit guest under 11.04 (Natty) KVM. Fix: Cherry-picking a single upstream patch (which went into 2.6.39) fixes the issue. Testcase: Booting 32bit rhel and centos 5.(5|6) guests under Natty used to hang, but has been verified to succeed with a test kernel including the upstream patch. Note: Submission to upstream stable is not considered as there are no longterm kernels between 2.6.37 and 2.6.39 which are supported. -Stefan From 626a3425d512ad12effebf90ba6aa0c4c4052118 Mon Sep 17 00:00:00 2001 From: Nikola Ciprich Date: Wed, 9 Mar 2011 23:36:51 +0100 Subject: [PATCH] KVM: fix kvmclock regression due to missing clock update commit 387b9f97750444728962b236987fbe8ee8cc4f8c moved kvm_request_guest_time_update(vcpu), breaking 32bit SMP guests using kvm-clock. Fix this by moving (new) clock update function to proper place. Signed-off-by: Nikola Ciprich Acked-by: Zachary Amsden Signed-off-by: Avi Kivity BugLink: http://bugs.launchpad.net/bugs/795717 (cherry-picked from commit 1aa8ceef0312a6aae7dd863a120a55f1637b361d upstream) Signed-off-by: Stefan Bader Acked-by: Tim Gardner Acked-by: Andy Whitcroft --- arch/x86/kvm/x86.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 980317a..0556e05 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -2100,8 +2100,8 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu) if (check_tsc_unstable()) { kvm_x86_ops->adjust_tsc_offset(vcpu, -tsc_delta); vcpu->arch.tsc_catchup = 1; - kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu); } + kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu); if (vcpu->cpu != cpu) kvm_migrate_timers(vcpu); vcpu->cpu = cpu;