Messages in this thread | | | Date | Mon, 5 Dec 2005 19:36:54 +0100 | From | Andi Kleen <> | Subject | Re: [PATCH] CPU frequency display in /proc/cpuinfo |
| |
> JACK needs to know the CPU speed in order to be able to use RDTSC for > timing. Yes that might be "broken" but gettimeofday() is simply not
It is broken then. Was always broken, will be broken etc.
> fast enough for our use, we can't afford the overhead of thousands of > system calls per second. And until recently 99.999% of desktop machines > had a monotonic TSC so this worked very well.
You're wrong. First if you say "monotonic" you don't understand the problem. Monotonicity is only a small part of it. The bigger one is just getting the current frequency and figuring out of if the information is safe to use.
Chips where it doesn't work:
- Intel Prescott and derivatives (newer Pentium 4, newer Xeon, on Celeron you are still lucky because they normally don't have speedstep): TSC runs at a different frequency than the current P state and P state often varies with speedstep [These are the most common desktop chips in the world, although not all have speedstep enabled. Many newer ones have though.] - Intel P-M and earlier P4,P3 mobile chips, Athlon 64, Athlon XP-M, Opteron etc: TSC varies with P state and user space has no way to get timely updates on P-state changes. - VIA C3: I believe TSC stops in idle (at least it used to on older versions, don't know if they fixed it)
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |