Re: 2.6.35-rc1 regression with pvclock and smp guests

Michael Tokarev
2010-09-28T11:20:07Z

Arjan Koers <0h61vkll2ly8 <at> xutrox.com> writes:

[]
> I've attached the printk patches for 2.6.34.1 and 2.6.35, in case
> anyone needs them...
>
>
> Move a printk that's using the clock before it's ready
>
> Fix a hang during SMP kernel boot on KVM that showed up
> after commit 489fb490dbf8dab0249ad82b56688ae3842a79e8
> (2.6.35) and 59aab522154a2f17b25335b63c1cf68a51fb6ae0
> (2.6.34.1). The problem only occurs when
> CONFIG_PRINTK_TIME is set.
>
> Signed-off-by: Arjan Koers <0h61vkll2ly8 <at> xutrox.com>
>
> diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
> index feaeb0d..71bf2df 100644
> --- a/arch/x86/kernel/kvmclock.c
> +++ b/arch/x86/kernel/kvmclock.c
> @@ -125,12 +125,15 @@ static struct clocksource kvm_clock = {
> static int kvm_register_clock(char *txt)
> {
> int cpu = smp_processor_id();
> - int low, high;
> + int low, high, ret;
> +
> low = (int)__pa(&per_cpu(hv_clock, cpu)) | 1;
> high = ((u64)__pa(&per_cpu(hv_clock, cpu)) >> 32);
> + ret = native_write_msr_safe(MSR_KVM_SYSTEM_TIME, low, high);
> printk(KERN_INFO "kvm-clock: cpu %d, msr %x:%x, %s\n",
> cpu, high, low, txt);
> - return native_write_msr_safe(MSR_KVM_SYSTEM_TIME, low, high);
> +
> + return ret;
> }
>
> #ifdef CONFIG_X86_LOCAL_APIC

Folks, should this be sent to -stable kernel? It is not in any
upstream kernel as far as I can see (not in linus tree too), but
this is quite an issue and is hitting people....

The discussion were stalled quite a while ago too -- this email has
Date: Mon, 02 Aug 2010 23:35:28 +0200.

Thanks!

/mjt