linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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



  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).