From: Anthony Liguori <anthony@codemonkey.ws>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Avi Kivity <avi@qumranet.com>, kvm@vger.kernel.org
Subject: Re: [patch 0/7] force the TSC unreliable by reporting C2 state
Date: Wed, 18 Jun 2008 16:42:40 -0500 [thread overview]
Message-ID: <48598150.604@codemonkey.ws> (raw)
In-Reply-To: <20080618212106.GA19602@dmt.cnet>
Marcelo Tosatti wrote:
> On Wed, Jun 18, 2008 at 04:02:39PM -0500, Anthony Liguori wrote:
>
>>>> Have we yet determined why the TSC is so unstable in the first place?
>>>> In theory, it should be relatively stable on single-node Intel and
>>>> Barcelona chips.
>>>>
>>>>
>>> If the host enters C2/C3, or changes CPU frequency, it becomes
>>> unreliable as a clocksource and there's no guarantee the guest will
>>> detect that.
>>>
>>>
>> On Intel, the TSC should be fixed-frequency for basically all shipping
>> processors supporting VT. Starting with 10h (Barcelona), I believe AMD
>> also has a fixed frequency TSC.
>>
>
> But still stops ticking in C2/C3 state, I suppose?
>
I don't know for sure but the TSC is not tied to the CPU clock so I
would be surprised if it did. I think that that would defeat the
utility of a fixed-frequency TSC.
Regards,
Anthony Liguori
>>> Also, as mentioned earlier, large systems with clustered APIC have
>>> unstable TSC.
>>>
>>>
>> Right, that's why I qualified with single-node.
>>
>>
>>> We _could_ hook this fake-C2-state thing to the host TSC reliability:
>>>
>>> 1) Hook into Linux's mark_tsc_unstable().
>>> 2) On migration check if the destination host is using the TSC, if not,
>>> force a faked-C2-state.
>>>
>>> Problem with 2) is that not all guests honour the ACPI _CST package
>>> notification (which would change C2's latency time from an unusable
>>> value to something usable). And now I don't think assuming the _CST
>>> notification to work is a good thing (after we found out that for ex.
>>> Ubuntu 7.10 kernel ignores it).
>>>
>>>
>> I think that for hosts with a known unstable TSC, we should do something
>> like this. But I also think we have a bug with TSC synchronization for
>> AMD although I don't at all know what the source of it is.
>>
>
> Chris has some patches around, I don't remember the details either.
>
> Thanks
>
>
next prev parent reply other threads:[~2008-06-18 21:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-18 16:42 [patch 0/7] force the TSC unreliable by reporting C2 state Marcelo Tosatti
2008-06-18 16:42 ` [patch 1/7] kvm: qemu: inform valid C2 state in ACPI table Marcelo Tosatti
2008-06-18 16:42 ` [patch 2/7] kvm: qemu: disable c2 via _CST notification Marcelo Tosatti
2008-06-18 16:42 ` [patch 3/7] libkvm: in-kernel C2 halt interface Marcelo Tosatti
2008-06-18 16:42 ` [patch 4/7] libkvm: handle_io return handler value Marcelo Tosatti
2008-06-18 16:42 ` [patch 5/7] qemu: kvm: unhalt vcpu0 on pit irq Marcelo Tosatti
2008-06-18 16:42 ` [patch 6/7] kvm: qemu: enable in-kernel C2 emulation / userspace emulation Marcelo Tosatti
2008-06-18 16:42 ` [patch 7/7] KVM: in-kernel ACPI C2 idle emulation Marcelo Tosatti
2008-06-23 3:01 ` Avi Kivity
2008-06-18 20:09 ` [patch 0/7] force the TSC unreliable by reporting C2 state Anthony Liguori
2008-06-18 20:40 ` Marcelo Tosatti
2008-06-18 21:02 ` Anthony Liguori
2008-06-18 21:21 ` Marcelo Tosatti
2008-06-18 21:42 ` Anthony Liguori [this message]
2008-06-18 22:41 ` Marcelo Tosatti
2008-06-18 22:57 ` john stultz
2008-06-18 23:08 ` Nakajima, Jun
2008-06-20 14:07 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48598150.604@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=avi@qumranet.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.