[lkml]   [2005]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[patch] i386 and x86_64 TSC set_cyc2ns_scale imprecision

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 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:
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
[unhandled content-type:application/octet-stream]
 \ /
  Last update: 2005-09-12 19:30    [W:0.017 / U:2.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site