All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
	Arjan van de Ven <arjan@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [patch] x86: unify/rewrite SMP TSC sync code
Date: Fri, 24 Nov 2006 21:37:38 +0100	[thread overview]
Message-ID: <200611242137.39012.ak@suse.de> (raw)
In-Reply-To: <20061124202514.GA7608@elte.hu>


> yeah - the main new bit for x86-64 is the unconditional check for time 
> warps. We shouldnt (and cannot) really trust the CPU and the board/BIOS 
> getting it right. There were always some motherboards using Intel CPUs 
> that had the TSCs wrong.

In the 64bit capable generation I don't know of any run in spec 
(except for multinode systems and there was one overclocked
system where the cores got unsync, but overclocking is an operator error) 
 
> > > The new code only checks for TSC asynchronity - and if it can prove 
> > > a time-warp (if it can observe the TSC going backwards when going 
> > > from one CPU to another within a critical section), then the TSC 
> > > clock-source is turned off.
> > 
> > The trouble is that people are using the RDTSC anyways even if the 
> > kernel doesn't. So some synchronization is probably a good idea.
> 
> which apps are using it? It might be safer in terms of app compatibility 
> if we removed the TSC bit in the case where we know it doesnt work, and 
> if we turned the feature off in the CPU in this case. We could also try 
> to 'approximately' sync up the TSC, 

There was a patch from google for trap -- trapping RDTSC for syncing
on demand. I'm not sure that was the right strategy though.

> but that obviously cannot be used  
> for kernel timekeeping - and by offering an 'almost' good TSC to 
> userspace we'd lure them towards using something we /cannot/ fix.

The trouble is that it's good enough on many systems, probably 
on those that are being developed on.

Anyways I don't feel very strongly about this -- i guess taking
it out would be fine.
 
> nor can the TSC really be synced up properly in the hotplug CPU case, 
> after the fact - what if the app already read out an older TSC value and 
> a new CPU is added. If the TSC isnt sync on SMP then it quickly gets 
> pretty messy, and we should rather take a look at /why/ these apps are 
> using RDTSC.

Because gettimeofday is too slow.
-Andi

  reply	other threads:[~2006-11-24 20:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-24 17:02 [patch] x86: unify/rewrite SMP TSC sync code Ingo Molnar
2006-11-24 17:13 ` Andi Kleen
2006-11-24 20:25   ` Ingo Molnar
2006-11-24 20:37     ` Andi Kleen [this message]
2006-11-24 20:46       ` Ingo Molnar
2006-11-24 21:06         ` Andi Kleen
2006-11-24 22:48     ` Ben Greear
2006-11-25  2:56     ` Wink Saville
2006-11-25  8:30       ` Arjan van de Ven
2006-11-25 16:58         ` Wink Saville
2006-11-25 17:41           ` Arjan van de Ven
2006-11-25 20:34             ` Wink Saville
2006-11-27 19:00   ` Christoph Lameter
2006-11-29  7:13 ` Ingo Molnar
     [not found] <fa./NRPJg+JjfSQLUVwnX1GpHGIojQ@ifi.uio.no>
     [not found] ` <fa.Y0RKABHd+7qnbGQYBAGPvlJ0Qic@ifi.uio.no>
     [not found]   ` <fa.fD3WSpNqEJ4736vYzEak5Gf3xTw@ifi.uio.no>
     [not found]     ` <fa.A+gkQAO1DLThaxJxPLPl3yE1CGo@ifi.uio.no>
     [not found]       ` <fa.INurNKWdUKAEULTHyfpSW65a/Ng@ifi.uio.no>
     [not found]         ` <fa.n9vySiI9RS2MCl0DZPDzxZEPiFw@ifi.uio.no>
2006-11-26  7:20           ` Robert Hancock
2006-11-26  8:16             ` Wink Saville
2006-11-26  8:24               ` Arjan van de Ven
2006-11-26 19:48                 ` Wink Saville
2006-11-27  7:51                   ` Arjan van de Ven
2006-11-27  9:15                     ` Wink Saville
  -- strict thread matches above, loose matches on Subject: below --
2006-11-27 17:23 Robert Crocombe
2006-11-27 18:41 ` Max Krasnyansky

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=200611242137.39012.ak@suse.de \
    --to=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.