xen-devel
RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid bi
On Friday, December 05, 2008 8:36 PM, Keir Fraser wrote:
> It does depend on constant_tsc though. That's fine, but I think then it
> should be implemented as an alternative method selected only when you detect
> constant_tsc at runtime. The fallback should be something like Gang Wei
> posted most recently.
>
> Also don't use cpu_khz as it's way less accurate than you need to put up
> with. Create a 'struct time_scale' that will convert from nanoseconds to TSC
> ticks. I think a reciprocal function for time_scale's would be useful here
> (and in Gang Wei's last patch as well) as then you can take the existing
> initial TSC->ns scale and flip it.
>
> The other concern I have is that, even with a much more accurate scale
> factor, CPUs which do not enter deep-C (because they are running busy loops
> for example) will *slowly* wander from the time line determined by your
> scale factor (due to unavoidable imprecision in the scale factor). This
> could build up to be noticeable over days. It might be an idea therefore to
> occasionally force a TSC resync on any CPU that hasn't had it resynced for
> other reasons, just to zap any accumulating imprecision that has crept in.
> It'd only need to be done maybe once a minute or maybe even much less than
> that.
I am updating the original patch for constant_tsc case. There are some
questions.
The first question is, can we just replace the per-second tsc_scale calibration
with constant tsc_scale & per-second tsc restoring? For constant_tsc, it seems
meaningless to do the tsc_scale calibration works. And to make the tsc_skew as
small as possible, it is better to do the tsc resync per-second other than once
a minute or even less.
The second question is, how can we make a more accruate tsc_scale and use it
for all local NOW() calculation & tsc restoring? Current initial tsc->ns scale
is based on PIT, but it is not certain to be the platform timer source. Is it
practical to make tsc_scale calibration working for seconds and take the
calibrated tsc_scale as the globle and fixed one?
Jimmy
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Wei, Gang
- [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
- [Xen-devel] RE: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Wei, Gang
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Tian, Kevin
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Tian, Kevin
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Tian, Kevin
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus,
Wei, Gang <=
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Wei, Gang
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Wei, Gang
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Wei, Gang
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Wei, Gang
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
- RE: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Wei, Gang
- Re: [Xen-devel] Re: [PATCH] CPUIDLE: revise tsc-save/restore to avoid big tsc skew between cpus, Keir Fraser
|
|
|