Re: [Xen-devel] [PATCH] xen: disable PV spinlocks on HVM

From: Stefan Bader
Date: Tue Sep 06 2011 - 13:18:17 EST


On 06.09.2011 10:02, Konrad Rzeszutek Wilk wrote:
> On Tue, Sep 06, 2011 at 05:41:47PM +0100, stefano.stabellini@xxxxxxxxxxxxx wrote:
>> From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
>>
>> 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.
>
> Let me stick it on my 3.1-rc5 bug-fix list and add stable@xxxxxxxxxx to it.
>
> Stefan, if you have some time this week, and can test it - I can also
> stick 'Tested-by' if you would like.
>
> Thinking to send the patches on Friday.
>
>>
>> Reported-by: Stefan Bader <stefan.bader@xxxxxxxxxxxxx>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
>> ---
>> arch/x86/xen/smp.c | 1 -
>> 1 files changed, 0 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
>> index e79dbb9..51339b4 100644
>> --- a/arch/x86/xen/smp.c
>> +++ b/arch/x86/xen/smp.c
>> @@ -522,7 +522,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)
>> --
>> 1.7.2.3
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel

I'll try. Currently I only got a version tested that takes out the
xen_init_lock_cpu calls as well.

-Stefan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/