[patch] i386 and x86_64 TSC set_cyc2ns_scale imprecision

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: set_cyc2ns_scale_cpu_khz_parameter.diff.gz
Description: Binary data


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux