mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Alok Kataria <akataria@vmware.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>,
	Arjan van de Veen <arjan@infradead.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Dan Hecht <dhecht@vmware.com>, Garrett Smith <garrett@vmware.com>
Subject: Re: [RFC patch 0/4] TSC calibration improvements
Date: Fri, 5 Sep 2008 15:34:33 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.1.10.0809051522410.3117@nehalem.linux-foundation.org> (raw)
In-Reply-To: <1220653095.14401.72.camel@alok-dev1>



On Fri, 5 Sep 2008, Alok Kataria wrote:
> 
> This can happen if, in the pit_expect_msb (the one just before the 
> second read_tsc), we hit an SMI/virtualization event *after* doing the 
> 50 iterations of PIT read loop, this allows the pit_expect_msb to 
> succeed when the SMI returns.

So theoretically, on real hardware, the minimum of 50 reads will take 
100us. The 256 PTI cycles will take 214us, so in the absolute worst case, 
you can have two consecutive successful cycles despite having a 228us SMI 
(or other event) if it happens just in the middle.

Of course, then the actual _error_ on the TSC read will be just half that, 
but since there are two TSC reads - one at the beginning and one at the 
end - and if the errors of the two reads go in opposite directions, they 
can add up to 228us.

So I agree - in theory you can have a fairly big error if you hit 
everything just right. In practice, of course, even that *maximal* error 
is actually perfectly fine for TSC calibration.

So I just don't care one whit.  The fact is, fast bootup is more important 
than some crazy and totally unrealistic VM situation. The 50ms thing was 
already too long, the 250ms one is unbearable.

The thing is, you _can_ calibrate the thing more carefully _later_. Use a 
tiemr to do two events one second apart (without slowing down the boot) if 
you want to get a really good value, along with the HPET/PMTIMER 
fine-tuning. That way you should actually be able to get a _really_ 
precise thing, because you do need a long time to get precision. But that 
long time should not be in a critical path on the bootup.

			Linus

  reply	other threads:[~2008-09-05 22:35 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-04 15:18 Thomas Gleixner
2008-09-04 15:18 ` [RFC patch 1/4] x86: TSC: define the PIT latch value separate Thomas Gleixner
2008-09-04 15:18 ` [RFC patch 2/4] x86: TSC: separate hpet/pmtimer calculation out Thomas Gleixner
2008-09-04 15:18 ` [RFC patch 3/4] x86: TSC: use one set of reference variables Thomas Gleixner
2008-09-04 15:18 ` [RFC patch 4/4] x86: TSC make the calibration loop smarter Thomas Gleixner
2008-09-04 15:36 ` [RFC patch 0/4] TSC calibration improvements Ingo Molnar
2008-09-04 15:45   ` Linus Torvalds
2008-09-04 16:00     ` Ingo Molnar
2008-09-04 16:21       ` Linus Torvalds
2008-09-04 16:36         ` Ingo Molnar
2008-09-04 17:41         ` Linus Torvalds
2008-09-04 18:07           ` Alan Cox
2008-09-04 18:26             ` Linus Torvalds
2008-09-04 18:30               ` H. Peter Anvin
2008-09-04 20:09               ` Linus Torvalds
2008-09-04 20:43                 ` Ingo Molnar
2008-09-04 20:52                   ` Ingo Molnar
2008-09-04 21:09                     ` Linus Torvalds
2008-09-04 21:21                       ` Ingo Molnar
2008-09-04 21:30                         ` Linus Torvalds
2008-09-04 21:34                           ` Linus Torvalds
2008-09-04 21:39                             ` Ingo Molnar
2008-09-04 21:33                       ` Ingo Molnar
2008-09-05 22:18                         ` Alok Kataria
2008-09-05 22:34                           ` Linus Torvalds [this message]
2008-09-06 20:03                             ` Thomas Gleixner
2008-09-06 20:29                               ` Linus Torvalds
2008-09-06 20:37                                 ` Thomas Gleixner
2008-09-06 20:50                                   ` Linus Torvalds
2008-09-06 20:55                                     ` Linus Torvalds
2008-09-06 21:15                                       ` Thomas Gleixner
2008-09-06 21:22                                         ` Linus Torvalds
2008-09-06 21:30                                           ` Thomas Gleixner
2008-09-06 22:40                                       ` Ingo Molnar
2008-09-06 20:58                                     ` Thomas Gleixner
2008-09-06 21:10                                       ` Linus Torvalds
2008-09-07  6:01                                         ` Willy Tarreau
2008-09-06 20:52                                   ` Thomas Gleixner
2008-09-06 20:59                                     ` Linus Torvalds
2008-09-06 21:07                                       ` Thomas Gleixner
2008-09-06 21:15                                         ` Linus Torvalds
2008-09-06 21:26                                           ` Thomas Gleixner
2008-09-06 21:32                                             ` Linus Torvalds
2008-09-04 20:53                   ` Linus Torvalds
2008-09-04 21:38                 ` Alok Kataria
2008-09-04 21:52                   ` Linus Torvalds
2008-09-04 22:09                     ` Alok Kataria
2008-09-04 17:39     ` Alok Kataria
2008-09-04 17:53       ` Linus Torvalds
2008-09-04 18:31         ` Alok Kataria
2008-09-04 18:34           ` H. Peter Anvin
2008-09-04 21:00   ` Valdis.Kletnieks

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=alpine.LFD.1.10.0809051522410.3117@nehalem.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akataria@vmware.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjan@infradead.org \
    --cc=dhecht@vmware.com \
    --cc=garrett@vmware.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome