On 07/19/2014 06:06 AM, Borislav Petkov wrote: > From: Borislav Petkov <[email protected]> > > There are machines which do have stable and always-running TSCs but the > last get started at different points in time by the platform, causing > the TSCs to have a small constant diff. > > It has been tried a couple of times to resync those during that > sync check but the procedure is error prone and flaky, and not 100% > successful. > > So, instead of doing that, let's not touch the TSCs at all but save a > per-CPU TSC offset which we add to the TSC value we've read from the > Time-Stamp Counter. The hope is thus to still salvage the TSC on those > machines. > > For that to work, we need to populate the TSC AUX MSR with the core ID > prior to doing the TSC sync check so that RDTSCP can give us the correct > core number and we can add the offset atomically. And yes, we need a > X86_FEATURE_RDTSCP CPU for the whole deal to work. Older ones simply > lose.
I'm sure I'm missing something, but where is tsc_offset used outside the tsc startup code? Is it somehow getting programmed into the TSC config registers? --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

