From patchwork Thu Sep 1 13:23:25 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Bader X-Patchwork-Id: 112909 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 F3597B6F88 for ; Thu, 1 Sep 2011 23:24:04 +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 1Qz7Ew-0005FC-Az; Thu, 01 Sep 2011 13:23:30 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by chlorine.canonical.com with esmtp (Exim 4.71) (envelope-from ) id 1Qz7Eu-0005F5-7U for kernel-team@lists.ubuntu.com; Thu, 01 Sep 2011 13:23:28 +0000 Received: from p5b2e5774.dip.t-dialin.net ([91.46.87.116] helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1Qz7Eu-0002fN-0G for kernel-team@lists.ubuntu.com; Thu, 01 Sep 2011 13:23:28 +0000 From: Stefan Bader To: kernel-team@lists.ubuntu.com Subject: [Oneiric] Temporary Xen HVM work-around Date: Thu, 1 Sep 2011 15:23:25 +0200 Message-Id: <1314883405-6394-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 I would like to propose the following SAUCE patch for Oneiric. Without this the Oneiric kernel fails to boot in HVM mode from a Xen 4.1.1 or newer hypervisor (which we ship in Oneiric). It should be only temporary, but I am not sure we find a proper solution within the time before final freeze and I rather would see the released kernel at least booting. Changes only affect code paths used when booting in HVM mode under Xen, so there should be no other impact. -Stefan From 6b33140cf331421e4dbac53b6eb155e4ac3be159 Mon Sep 17 00:00:00 2001 From: Stefan Bader Date: Thu, 1 Sep 2011 13:24:27 +0200 Subject: [PATCH] UBUNTU: SAUCE: xen: Do not use pv spinlocks on HVM BugLink: http://bugs.launchpad.net/bugs/838026 This is broken at the moment and causes our 3.0 kernel to hang on boot when started as a HVM guest of a 4.1.1 or newer hypervisor. It should be reverted or dropped as soon as we find a proper solution. Signed-off-by: Stefan Bader --- arch/x86/xen/enlighten.c | 2 ++ arch/x86/xen/smp.c | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 14dc31f..57727c5 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -1360,8 +1360,10 @@ static int __cpuinit xen_hvm_cpu_notify(struct notifier_block *self, switch (action) { case CPU_UP_PREPARE: per_cpu(xen_vcpu, cpu) = &HYPERVISOR_shared_info->vcpu_info[cpu]; + /* FIXME: Disable until a final solution is found (lp#838026) if (xen_have_vector_callback) xen_init_lock_cpu(cpu); + */ break; default: break; diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index e79dbb9..abd69a6 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c @@ -521,8 +521,10 @@ static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus) native_smp_prepare_cpus(max_cpus); WARN_ON(xen_smp_intr_init(0)); + /* FIXME: Disable until final solution is found (lp#838026) xen_init_lock_cpu(0); xen_init_spinlocks(); + */ } static int __cpuinit xen_hvm_cpu_up(unsigned int cpu)