mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: thockin@hockin.org
To: Sven-Thorsten Dietrich <sven@mvista.com>
Cc: Lee Revell <rlrevell@joe-job.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Dual core Athlons and unsynced TSCs
Date: Fri, 13 Jan 2006 11:32:34 -0800	[thread overview]
Message-ID: <20060113193234.GA20519@hockin.org> (raw)
In-Reply-To: <1137178574.2536.13.camel@localhost.localdomain>

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.

Tim

  parent reply	other threads:[~2006-01-13 19:22 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-12 22:17 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 [this message]
2006-01-13 20:58               ` Steven Rostedt
     [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=20060113193234.GA20519@hockin.org \
    --to=thockin@hockin.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rlrevell@joe-job.com \
    --cc=sven@mvista.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

Powered by JetHome