Re: Fwd: [GIT PULL] timer changes for v3.10

From: John Stultz
Date: Tue May 07 2013 - 17:39:43 EST


On 05/07/2013 02:31 PM, Pavel Machek wrote:
On Tue 2013-05-07 09:01:36, John Stultz wrote:
On 05/06/2013 11:53 PM, Ingo Molnar wrote:
* Feng Tang <feng.tang@xxxxxxxxx> wrote:

is even worse than that. Machine can stay is s2ram for weeks (for a
lot more if it is desktop and you do s2ram for powersaving). Also
temperature of CPU varies a lot between active and s2ram states. Is
TSC good enough?
Yes, I think it is relatively precise. Per our test, system time backed
by the S3 non stop TSC only has 1 second drift after 4 days running
(with mixed running and S3 states). And before using this feature, we've
seen many time drift problems due to the RTC HW or system FW with our
platforms.
Nice result ...

Is that with NTP running?

Without NTP, the TSC fast-calibration on bootup is not (expected to be)
nearly as precise as the 1:345600 precision you've measured.
We also do refined calibration now on the TSC asynchronously over a
period of seconds at boot up that gives us much better accuracy then
the fast calibration. This helps provide much more consistent
boot-to-boot TSC frequencies.
On android (and this is targetted at android, right?) system is going
to suspend basically as soon as it boots. Will refined calibration
have enough time to do its job?
I don't *think* this is a concern. The refined calibration only takes a few seconds while the system is booting and has always completed before userspace starts on the systems I have. Even so, I don't believe on boot Android will trigger the autosleep code until its userland is up and running, which takes more then a few seconds on the devices I've seen.


And... reason for all this is that RTC has one second granularity when
accessed naively. But surely we could poll RTC X times a second,
getting error down by factor of X?
Well, we can poll the RTC trying to get closer to the second edge, but that's somewhat expensive, and for suspend/resume would delay things more then whats acceptable.

Sorry. You seem to not like the merged change, but I guess I'm not quite sure what exactly your objection is here.

thanks
-john

--
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/