diff options
author | Prarit Bhargava <prarit@redhat.com> | 2008-11-12 13:35:00 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-12 19:57:35 +0100 |
commit | 8652cb4b0d87accbe78725fd2a13be2787059649 (patch) | |
tree | 201f712a14998d01aca56ae8ed0d683423f47bdd /arch/x86/kernel/time_64.c | |
parent | 6cf87efbc7a3676e0ad7c9622ec6aec244a593bc (diff) | |
download | linux-8652cb4b0d87accbe78725fd2a13be2787059649.tar.gz linux-8652cb4b0d87accbe78725fd2a13be2787059649.tar.bz2 linux-8652cb4b0d87accbe78725fd2a13be2787059649.zip |
x86: warn of incorrect cpu_khz on AMD systems
Impact: add debug check
If none of the perfctrs are free when calculating cpu_khz we default to
using ctr 3 (ie, we just choose 3). This may lead to an incorrect tsc
freq value which can cause the system to be unstable.
To aid in future debugging, WARN the user of a potential problem.
Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/time_64.c')
-rw-r--r-- | arch/x86/kernel/time_64.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kernel/time_64.c b/arch/x86/kernel/time_64.c index cb19d650c216..418a095c5796 100644 --- a/arch/x86/kernel/time_64.c +++ b/arch/x86/kernel/time_64.c @@ -80,6 +80,8 @@ unsigned long __init calibrate_cpu(void) break; no_ctr_free = (i == 4); if (no_ctr_free) { + WARN(1, KERN_WARNING "Warning: AMD perfctrs busy ... " + "cpu_khz value may be incorrect.\n"); i = 3; rdmsrl(MSR_K7_EVNTSEL3, evntsel3); wrmsrl(MSR_K7_EVNTSEL3, 0); |