RE: [Regression, bisected]a3e06bbe8445f57eb949e6474c5a9b30f24d2057: KVM: emulate lapic tsc deadlinetimer for guest"

From: Liu, Jinsong
Date: Tue Dec 20 2011 - 04:27:27 EST


Alexey Zaytsev wrote:
> On Tue, Dec 20, 2011 at 10:53, Liu, Jinsong <jinsong.liu@xxxxxxxxx>
> wrote:
>> Alexey Zaytsev wrote:
>>> On Wed, Dec 14, 2011 at 11:37, Alexey Zaytsev
>>> <alexey.zaytsev@xxxxxxxxxxx> wrote:
>>>> 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.
>>>>
>>>
>>> Hi. Do you need any more info on thins?
>>
>> Seems illumos works fine w/ qemu-kvm, that's enough. Maybe you need
>> to wait qemu-kvm sync into qemu?
>>
>
> Qemu-kvm is fine for me, but this is a regression and should be fixed.

Sorry, I haven't your environment to debug illumos regression.
I don't think it directly related to kvm tsc deadline timer, and I think it's no value to do it now, since
for linux guest it works fine w/ both qemu & qemu-kvm,
for illumos guest you just need wait qemu-kvm sync into qemu.

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/