diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2008-09-04 11:18:59 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-04 11:35:35 -0400 |
commit | a977c400957451f3bd92b9ed6022f5fe8a6cbbf5 (patch) | |
tree | ee44967e668e9ee58c7df6ebb09453ceb525c69e /firmware/whiteheat.HEX | |
parent | 827014be05e4515fa0dfc32e3100c4dab2070a98 (diff) |
x86: TSC make the calibration loop smarter
The last changes made the calibration loop 250ms long which is far
too much. Try to do that more clever.
Experiments have shown that using a 10ms delay for the PIT based calibration
gives us a good enough value. If we have a reference (HPET/PMTIMER) and the
result of the PIT and the reference is close enough, then we can break out of
the calibration loop on a match right away and use the reference value.
Otherwise we just loop 3 times and decide then, which value to take.
One caveat is that for virtualized environments the PIT calibration often does
not work at all and I found out that 10us is a bit too short as well for the
reference to give a sane result. The solution here is to make the last loop
longer when the first two PIT calibrations failed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'firmware/whiteheat.HEX')
0 files changed, 0 insertions, 0 deletions