x86: "Fast TSC calibration failed" error

From: Paul Bolle
Date: Mon Sep 24 2012 - 08:04:16 EST

0) In the dmesg output of the current session of a laptop I noticed:
<3>[ 0.000000] tsc: Fast TSC calibration failed

(Apparently, this calibration succeeds most of the times, because most
previous sessions have "Fast TSC calibration using PIT" in their log.)

1) This message was upgraded to an error in commit
c767a54ba0657e52e6edaa97cbe0b0a8bf1c1655 ("x86/debug: Add KERN_<LEVEL>
to bare printks, convert printks to pr_<level>"). That commit was
included in mainline in v3.6-rc1. Before that commit this message was
printed at default level (ie, as a warning).

2) Why is this message printed as an error?

3) Let's add some background. This message is printed by
quick_pit_calibrate(), which is only called by native_calibrate_tsc().
If it is printed (quick_pit_calibrate() will return 0 and)
native_calibrate_tsc() will try an alternative calibration strategy. But
in that alternative strategy no message ever exceeds warning level, even
if calibration fails.

4) So, without even understanding why tsc calibration is needed, it does
look unnecessary to print "Fast TSC calibration failed" at error level.
If that's correct, I'd be happy to submit the trivial patch to downgrade
it to (say) informational level.

Paul Bolle

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/