public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] i386 and x86_64 TSC set_cyc2ns_scale imprecision
@ 2005-09-12 17:27 Mathieu Desnoyers
  0 siblings, 0 replies; only message in thread
From: Mathieu Desnoyers @ 2005-09-12 17:27 UTC (permalink / raw)
  To: george, johnstul; +Cc: linux-kernel, michel.dagenais

[-- Attachment #1: Type: text/plain, Size: 785 bytes --]

Hi,

I just found out that some precision is unnecessarily lost in the
arch/i386/kernel/timers/timer_tsc.c:set_cyc2ns_scale function. It uses a
cpu_mhz parameter when it could use a cpu_khz. In the specific case of an Intel
P4 running at 3001.171 Mhz, the truncation to 3001 Mhz leads to an imprecision
of 19 microseconds per second : this is very sad for a timer with nearly
nanosecond accuracy.

The patch for 2.6.13.1 is attached. It patches the x86_64 architecture too.
Please look at the patch for further comments.


Mathieu Desnoyers
Master Student in Computer Engineering
École Polytechnique de Montréal

OpenPGP public key:              http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint:     8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68 

[-- Attachment #2: set_cyc2ns_scale_cpu_khz_parameter.diff.gz --]
[-- Type: application/octet-stream, Size: 1202 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-09-12 17:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-12 17:27 [patch] i386 and x86_64 TSC set_cyc2ns_scale imprecision Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox