From: george anzinger <george@mvista.com>
To: jim.houston@attbi.com
Cc: linux-kernel@vger.kernel.org,
high-res-timers-discourse@lists.sourceforge.net,
jim.houston@ccur.com
Subject: Re: [PATCH] calibrate_tsc should not use HZ
Date: Thu, 31 Oct 2002 11:52:59 -0800 [thread overview]
Message-ID: <3DC18A1B.FC7D59D0@mvista.com> (raw)
In-Reply-To: 200210311928.g9VJSoY03708@linux.local
Jim Houston wrote:
>
> Hi Everyone,
>
> I noticed that the calibration time for calibrate_tsc() is 5 jiffies.
> This means the result with 1000 Hz jiffies may be less accurate
> then it was at 100 Hz. The attached patch removes this dependency.
>
> Jim Houston - Concurrent Computer Corp.
>
> diff -X /usr1/jhouston/dontdiff -ur linux.orig/arch/i386/kernel/timers/timer_tsc.c linux.kdb/arch/i386/kernel/timers/timer_tsc.c
> --- linux.orig/arch/i386/kernel/timers/timer_tsc.c Wed Oct 23 00:54:19 2002
> +++ linux.kdb/arch/i386/kernel/timers/timer_tsc.c Thu Oct 31 14:18:21 2002
> @@ -97,8 +97,13 @@
> * device.
> */
>
> -#define CALIBRATE_LATCH (5 * LATCH)
> -#define CALIBRATE_TIME (5 * 1000020/HZ)
> +/*
> + * Pick the largest possible latch value (it is a 16 bit counter)
> + * and calculate the corresponding time.
> + */
> +#define CALIBRATE_LATCH (0xffff)
> +#define CALIBRATE_TIME ((int)((1000000LL*CALIBRATE_LATCH + \
> + CLOCK_TICK_RATE/2)/CLOCK_TICK_RATE)
>
> static unsigned long __init calibrate_tsc(void)
> {
>
And one step further, if you tack on a few zeros in the
numerator, you can pick up a couple of more bits of
precision in the tick rate, i.e.:
CLOCK_TICK_RATE is derived from 14.3181818Mhz/12 =
1.19318181667 so:
#define CALIBRATE_LATCH_1000 1193181817
#define CALIBRATE_TIME ((int)((1000000000LL*CALIBRATE_LATCH
+ \
CLOCK_TICK_RATE_1000/2)/CLOCK_TICK_RATE_1000)
--
George Anzinger george@mvista.com
High-res-timers:
http://sourceforge.net/projects/high-res-timers/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml
prev parent reply other threads:[~2002-10-31 19:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-31 19:28 [PATCH] calibrate_tsc should not use HZ Jim Houston
2002-10-31 19:52 ` george anzinger [this message]
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=3DC18A1B.FC7D59D0@mvista.com \
--to=george@mvista.com \
--cc=high-res-timers-discourse@lists.sourceforge.net \
--cc=jim.houston@attbi.com \
--cc=jim.houston@ccur.com \
--cc=linux-kernel@vger.kernel.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 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.