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
- Prev by Date: Re: [WATCHDOG] v2.6.13 watchdog-patches
- Next by Date: Re: [PATCH 2.6.13 14/14] sas-class: SCSI Host glue
- Previous by thread: Re: [PATCH] 2.6.13 flocks_remove_flock hits BUG();
- Next by thread: Re: 2.6.13: Crash in Yenta initialization
- Index(es):