public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: George Anzinger <george@mvista.com>
To: john stultz <johnstul@us.ibm.com>
Cc: dean gaudet <dean-list-linux-kernel@arctic.org>,
	Dominik Brodowski <linux@dominikbrodowski.de>,
	"Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	linux@brodo.de, lkml <linux-kernel@vger.kernel.org>
Subject: Re: summary (Re: [patch] prefer TSC over PM Timer)
Date: Wed, 17 Nov 2004 15:24:13 -0800	[thread overview]
Message-ID: <419BDD9D.7090200@mvista.com> (raw)
In-Reply-To: <1100732984.3891.9.camel@leatherman>

john stultz wrote:
> On Wed, 2004-11-17 at 14:30 -0800, George Anzinger wrote:
> 
>>The APIC timer is again on a different "rock" which is not designed for time 
>>keeping and, again, is calibrated at boot up against the "GOLD" standard PIT.
>>
>>IMHO, the best time keeping we can get in and x86 box is to:
>>
>>a) set up the PIT up to do the 1/HZ ticks (once set up we do not need to touch 
>>it again so the I/O access issues become mute),
>>
>>b) select either the TSC (if we think it is stable) or the pm_timer to do the 
>>short term between tick interpolation and also to detect and correct for PIT 
>>interrupt overrun (like we missed a tick or two).  We should prefer the TSC here 
>>because of speed and that it is read every gettimeofday() access.
> 
> 
> My only qualm here is that using the TSC to interpolate between timer
> ticks allows for time inconsistencies. If the TSC isn't cumulatively
> accurate, then when used in between ticks it will cause minor
> inaccuracies and possible inconsistencies. I'd instead prefer picking a
> single time source, and using NTP to correct for drift or inaccurate
> calibration. 

I think the inconstistancies are of the order of micro seconds and so will not 
really show.  Not all systems are connected to an NTP server.  One possibility 
is to build in an ntp like thing that averages out the PIT ticks and refines the 
TSC count per tick thing over a much longer period.  This would drive the errors 
way down into the noise and it still honors the notion of the PIT being the 
STANDARD for time.
> 
> Also breaking time subsystem from requiring regular periodic ticks
> allows for tickless systems and additional power management savings. But
> this should be saved for another thread. 

Amen!
> 

-- 
George Anzinger   george@mvista.com
High-res-timers:  http://sourceforge.net/projects/high-res-timers/


  reply	other threads:[~2004-11-17 23:28 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-16 18:27 [patch] prefer TSC over PM Timer Pallipadi, Venkatesh
2004-11-17  1:50 ` dean gaudet
2004-11-17 10:43   ` Mikael Pettersson
2004-11-17 14:19   ` Dmitry Torokhov
2004-11-17 15:31   ` Alan Cox
2004-11-17 17:48     ` summary (Re: [patch] prefer TSC over PM Timer) dean gaudet
2004-11-17 22:30       ` George Anzinger
2004-11-17 23:09         ` john stultz
2004-11-17 23:24           ` George Anzinger [this message]
2004-11-18  2:01   ` [patch] prefer TSC over PM Timer Krzysztof Halasa

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=419BDD9D.7090200@mvista.com \
    --to=george@mvista.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dean-list-linux-kernel@arctic.org \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@brodo.de \
    --cc=linux@dominikbrodowski.de \
    --cc=venkatesh.pallipadi@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox