xen: disable PV spinlocks on HVM
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Tue, 6 Sep 2011 16:41:47 +0000 (17:41 +0100)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 8 Sep 2011 17:59:06 +0000 (13:59 -0400)
PV spinlocks cannot possibly work with the current code because they are
enabled after pvops patching has already been done, and because PV
spinlocks use a different data structure than native spinlocks so we
cannot switch between them dynamically. A spinlock that has been taken
once by the native code (__ticket_spin_lock) cannot be taken by
__xen_spin_lock even after it has been released.

Reported-and-Tested-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/xen/smp.c

index d4fc6d454f8d0dced29f592dd0b33407c5088b92..041d4fe9dfe4b858773bc30ba1ea05ddab501637 100644 (file)
@@ -532,7 +532,6 @@ static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus)
        WARN_ON(xen_smp_intr_init(0));
 
        xen_init_lock_cpu(0);
-       xen_init_spinlocks();
 }
 
 static int __cpuinit xen_hvm_cpu_up(unsigned int cpu)