From: Steven Rostedt <rostedt@goodmis.org>
To: thockin@hockin.org
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
Lee Revell <rlrevell@joe-job.com>,
Sven-Thorsten Dietrich <sven@mvista.com>
Subject: Re: Dual core Athlons and unsynced TSCs
Date: Fri, 13 Jan 2006 15:58:08 -0500 [thread overview]
Message-ID: <1137185888.6731.4.camel@localhost.localdomain> (raw)
In-Reply-To: <20060113193234.GA20519@hockin.org>
On Fri, 2006-01-13 at 11:32 -0800, thockin@hockin.org wrote:
> On Fri, Jan 13, 2006 at 10:56:13AM -0800, Sven-Thorsten Dietrich wrote:
> > On Fri, 2006-01-13 at 10:55 -0800, thockin@hockin.org wrote:
> > > unless we can re-sync the TSCs often enough that apps don't notice.
> >
> > You'd have to quantify that somehow, in terms of the max drift rate
> > (ppm), and the max resolution available (< tsc frequency).
> >
> > Either that, or track an offset, and use one TSC as truth, and update
> > the correction factor for the other TSCs as often as needed, maybe?
> >
> > This is kind of analogous to the "drift" NTP calculates against a
> > free-running oscillator.
> >
> > So you'd be pushing that functionality deeper into the OS-core.
> >
> > Dave Mills had that "hardpps" stuff in there for a while, it might be a
> > starting point.
> >
> > Just some thoughts for now...
>
> There's some chatter here about a solution involving a lazy sync of TSCs
> to the HPET (or other) whenever an app calls rdtsc after a potentially
> unsyncing event.
>
> For example, 'hlt' will initiate C1 which may cause clock ramping (and TSC
> skew). We can trap rdtsc after a hlt and re-sync the TSCs to some truly
> monotonic source, like HPET.
>
> I don't have all the details, some problems remain, and the work is not
> quite done yet, but it looks promising.
>
> Even if we eventually get synced TSCs, it's too little too late.
> basically, anything in-kernel that uses rdtsc is bound to break, and any
> app that uses rdtsc had better be using CPU affinity.
I know this might be somewhat of an overhead, but what about resyncing
on wakeup of the idle function? Isn't that where they fall apart?
-- Steve
next prev parent reply other threads:[~2006-01-13 20:58 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-12 22:17 Dual core Athlons and unsynced TSCs Lee Revell
2006-01-13 15:10 ` Roger Heflin
2006-01-13 16:04 ` Steven Rostedt
2006-01-13 17:47 ` Lee Revell
2006-01-13 17:52 ` Steven Rostedt
2006-01-13 17:54 ` Lee Revell
2006-01-13 18:41 ` Steven Rostedt
2006-01-13 18:55 ` Lee Revell
2006-01-13 20:09 ` Steven Rostedt
2006-01-13 20:26 ` Steven Rostedt
2006-01-13 20:40 ` Lee Revell
2006-01-13 20:43 ` Lee Revell
2006-01-13 20:46 ` Thomas Gleixner
2006-01-13 20:48 ` Lee Revell
2006-01-13 20:51 ` Thomas Gleixner
2006-01-13 20:52 ` Steven Rostedt
2006-01-13 21:05 ` Steven Rostedt
2006-01-13 21:10 ` Thomas Gleixner
2006-01-13 21:17 ` Steven Rostedt
2006-01-16 9:52 ` Thomas Gleixner
2006-01-16 15:55 ` Steven Rostedt
2006-01-14 0:23 ` john stultz
2006-01-14 1:10 ` Steven Rostedt
2006-01-14 1:14 ` Lee Revell
2006-01-14 1:23 ` john stultz
2006-01-14 1:27 ` Lee Revell
2006-01-14 1:39 ` john stultz
2006-01-14 1:43 ` Steven Rostedt
2006-01-14 1:50 ` john stultz
2006-01-14 2:15 ` Steven Rostedt
2006-01-14 2:34 ` Steven Rostedt
2006-01-16 1:19 ` Andi Kleen
2006-01-14 6:54 ` Christoph Lameter
2006-01-13 18:06 ` thockin
2006-01-13 17:58 ` Lee Revell
2006-01-13 18:16 ` thockin
2006-01-13 18:09 ` Lee Revell
2006-01-13 18:55 ` thockin
2006-01-13 18:56 ` Sven-Thorsten Dietrich
2006-01-13 19:00 ` Lee Revell
2006-01-13 19:07 ` Sven-Thorsten Dietrich
2006-01-13 21:18 ` David Lang
2006-01-13 21:56 ` thockin
2006-01-13 22:05 ` David Lang
2006-01-13 22:18 ` Sven-Thorsten Dietrich
2006-01-13 22:49 ` David Lang
2006-01-14 0:41 ` Andreas Steinmetz
2006-01-14 1:04 ` David Lang
2006-01-14 1:21 ` Andreas Steinmetz
2006-01-14 1:51 ` thockin
2006-01-15 8:52 ` Zan Lynx
2006-01-15 16:25 ` thockin
2006-01-15 16:33 ` Lee Revell
2006-01-15 18:21 ` thockin
2006-01-15 18:29 ` Lee Revell
2006-01-15 18:49 ` thockin
2006-01-14 1:13 ` thockin
2006-01-13 22:23 ` thockin
2006-01-13 19:13 ` Xavier Bestel
2006-01-13 19:32 ` thockin
2006-01-13 20:58 ` Steven Rostedt [this message]
[not found] <5ujmj-1UQ-511@gated-at.bofh.it>
[not found] ` <5uBnF-2SG-11@gated-at.bofh.it>
[not found] ` <5uBnF-2SG-9@gated-at.bofh.it>
[not found] ` <5uBxi-3iM-21@gated-at.bofh.it>
[not found] ` <5uBGY-3ul-21@gated-at.bofh.it>
[not found] ` <5uCa5-443-45@gated-at.bofh.it>
[not found] ` <5uCjF-4fW-15@gated-at.bofh.it>
[not found] ` <5uCtj-4Fi-15@gated-at.bofh.it>
2006-01-14 0:24 ` Robert Hancock
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=1137185888.6731.4.camel@localhost.localdomain \
--to=rostedt@goodmis.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rlrevell@joe-job.com \
--cc=sven@mvista.com \
--cc=thockin@hockin.org \
/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;
as well as URLs for NNTP newsgroup(s).