x86: Reenable TSC sync check at boot, even with NONSTOP_TSC
authorPallipadi, Venkatesh <venkatesh.pallipadi@intel.com>
Thu, 17 Dec 2009 20:27:02 +0000 (12:27 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 17 Dec 2009 22:44:35 +0000 (14:44 -0800)
commit6c56ccecf05fafe100ab4ea94f6fccbf5ff00db7
treec9d1f27a2fbb53251d2abeeab771b86d4122541a
parent4beb3d6d144c41525541cce2b611858b2645c725
x86: Reenable TSC sync check at boot, even with NONSTOP_TSC

Commit 83ce4009 did the following change
If the TSC is constant and non-stop, also set it reliable.

But, there seems to be few systems that will end up with TSC warp across
sockets, depending on how the cpus come out of reset. Skipping TSC sync
test on such systems may result in time inconsistency later.

So, reenable TSC sync test even on constant and non-stop TSC systems.
Set, sched_clock_stable to 1 by default and reset it in
mark_tsc_unstable, if TSC sync fails.

This change still gives perf benefit mentioned in 83ce4009 for systems
where TSC is reliable.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <20091217202702.GA18015@linux-os.sc.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/tsc.c