From: john stultz <johnstul@us.ibm.com>
To: Ulrich Windl <ulrich.windl@rz.uni-regensburg.de>
Cc: linux-kernel@vger.kernel.org, tglx@linutronix.de,
Clark Williams <williams@redhat.com>,
zippel@linux-m68k.org, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH] tsc_khz= boot option to avoid TSC calibration variance
Date: Tue, 12 May 2009 15:26:11 -0700 [thread overview]
Message-ID: <1242167171.3462.13.camel@localhost> (raw)
In-Reply-To: <4A095139.30347.48783F@Ulrich.Windl.rkdvmks1.ngate.uni-regensburg.de>
On Tue, 2009-05-12 at 10:36 +0200, Ulrich Windl wrote:
> On 11 May 2009 at 19:12, john stultz wrote:
>
> > All,
> >
> > Despite recent tweaking, TSC calibration variance is still biting users
> > who care about keeping close sync with NTP servers over reboots.
> >
> > Here's a recent example:
> > http://lkml.indiana.edu/hypermail/linux/kernel/0905.0/02061.html
> >
> > The problem is, each reboot, we have to calibrate the TSC, and any
> > error, regardless of how small, in the calibrated freq has to be
> > corrected for by NTP. Assuming the error is within 500ppm NTP can
> > correct this, but until it finds the proper correction value for the new
> > TSC freq, users may see time offsets from the NTP server.
> >
> > In my experience, its fairly easy to see 100khz variance from reboot to
> > reboot with 2.6.30-rc.
> >
> > While I think its worth trying to improve the calibration further, there
> > will likely be a trade-off between very accurate calibration and fast
> > boot times.
> >
> > To mitigate this, I wanted to provide a tsc_khz= boot option. This would
> > allow users to set the tsc_khz value at boot-up, assuming they are
> > within 1Mhz of the calibrated value (to protect against bad values).
> > Once the tsc_khz value is set in grub, the box will always boot with the
> > same value, so the NTP drift value prior to reboot will still be correct
> > after rebooting.
>
> [...]
>
> Hi everyone!
>
> I was thinking a little bit on the issue, and I wondered (assuming the TSC
> calibration and the hardware is somewhat stable) whether one should invent a
> mechanism similar to the RTC or random pool; i.e. load the last value that was
> stored or accumulated before. For the TSC calibaration one could build the average
> of previous calibration values (if the value jumps between different numbers).
> That would require a sysctl (or equivalent) interface however.
I still feel that a sysctrl or /sys/ interface for this sort of thing is
overkill. It creates yet another interface we have to manage, and really
doesn't improve the situation more then the boot option would.
Additionally it would require quite a bit of work at the clocksource
level to allow for re-calibration (currently we avoid this by
disqualifying the TSC if it changes freq).
That said, I've gotten very few positive comments from my patch, so I'm
going to give it one more spin (to address Serge's point) and if folks
are still feeling blah about it I'll stop pushing it.
thanks
-john
next prev parent reply other threads:[~2009-05-12 22:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-12 2:12 [PATCH] tsc_khz= boot option to avoid TSC calibration variance john stultz
2009-05-12 8:36 ` Ulrich Windl
2009-05-12 22:26 ` john stultz [this message]
2009-05-12 22:42 ` Thomas Gleixner
2009-05-12 23:02 ` john stultz
2009-05-13 9:41 ` Petri Kaukasoina
2009-05-13 7:59 ` Ulrich Windl
2009-05-13 9:23 ` Petri Kaukasoina
2009-05-13 10:06 ` Petri Kaukasoina
2009-05-12 13:20 ` Serge Belyshev
2009-05-12 23:31 ` john stultz
2009-05-13 18:45 ` George Spelvin
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=1242167171.3462.13.camel@localhost \
--to=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=ulrich.windl@rz.uni-regensburg.de \
--cc=williams@redhat.com \
--cc=zippel@linux-m68k.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