[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4B2EB216.6020909@redhat.com>
Date: Sun, 20 Dec 2009 13:24:06 -1000
From: Zachary Amsden <zamsden@...hat.com>
To: Avi Kivity <avi@...hat.com>
CC: Joerg Roedel <joerg.roedel@....com>,
Marcelo Tosatti <mtosatti@...hat.com>, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] KVM: SVM: Adjust tsc_offset only if tsc_unstable
On 12/19/2009 11:59 PM, Avi Kivity wrote:
> On 12/15/2009 05:38 AM, Zachary Amsden wrote:
>> On 12/14/2009 01:22 AM, Joerg Roedel wrote:
>>> The tsc_offset adjustment in svm_vcpu_load is executed
>>> unconditionally even if Linux considers the host tsc as
>>> stable. This causes a Linux guest detecting an unstable tsc
>>> in any case.
>>> This patch removes the tsc_offset adjustment if the host tsc
>>> is stable. The guest will now get the benefit of a stable
>>> tsc too.
>>>
>> Hi Joerg, I have a much more comprehensive series of patches to
>> address this issue, please take a look.
>>
>
> Despite this, I've applied the patch to have this fix in while we
> review your patch set (haven't started yet, sorry - still recovering
> from nested vmx).
No worries, I can always re-base. My patch set needs some other fixed
bits for sleep in C-states on Intel CPUs.
Choices are:
1) do nothing; don't support these CPUs
2) do nothing; don't support MWAIT based sleep into C3 on these CPUs,
force different idle routine
3) resync the TSC on exit from C3
4) don't use TSC here at all
If the wakeup time for a CPU needs to be fast, I prefer approach #2;
However, if the load is so low that we can drop to C3, then we can
consider the state of deep idle to be equivalent to bring a CPU down and
then back up, which is a problem we already know how to solve; this is
an argument for #3.
It is also pragmatic to suggest #4, now that there exists a patchset for
doing intercept based TSC virtualization.
Zach
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists