Re: [Regression, bisected] a3e06bbe8445f57eb949e6474c5a9b30f24d2057:KVM: emulate lapic tsc deadline timer for guest"

From: Alexey Zaytsev
Date: Wed Dec 14 2011 - 04:37:53 EST


On Mon, Dec 12, 2011 at 10:13, Liu, Jinsong <jinsong.liu@xxxxxxxxx> wrote:
> Alexey Zaytsev wrote:
>> Hi.
>>
>> After a recent change, qemu --enable-kvm (both 0.15.92 and 1.0) fails
>> to boot illumos. The OS gets stuck pretty late in the boot process,
>> without any hints from the guest. MDB (the illumos kenrnel debugger)
>> failed to clarify the situation at once, the kernel seems to be stuck
>> idling. I've bisected the problem to commit
>> a3e06bbe8445f57eb949e6474c5a9b30f24d2057. Please let me know if you
>> need me to collect any debug information or test any patches.
>
> Alexey,
>
> Does illumos use tsc deadline timer? and do you run it at Intel platform?
>
> If yes, would you please help me to collect debug information by add some printk points at kvm tsc deadline timer logic? currently I totally have no clue to figure out what the issue root from :)
> and, would you please check illumos tsc deadline timer logic by confirm whether illumos
> 1). Enumerate tsc deadline timer capability by CPUID;
> 2). Enable tsc deadline timer mode by lapic MMIO;
> 3). Start tsc deadline timer by WRMSR;

I think, here's what's going on. We get into
kvm_get_lapic_tscdeadline_msr/kvm_set_lapic_tscdeadline_msr, but qemu
does not use the KVM_CREATE_IRQCHIP ioctl, so we are running without
vcpu->arch.apic and the functions do nothing. And the Linux guest just
handles broken tsc a lot better, so it survives. Both guests seem to
work fine with qemu-kvm, which uses the ioctl.

>
> Thanks,
> Jinsong
--
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/