On Thu, 19 Jul 2018, Pavel Tatashin wrote: > On Thu, Jul 19, 2018 at 12:49 PM Pavel Tatashin > <pasha.tatashin@xxxxxxxxxx> wrote: > > > > > So create two functions. native_...early..() and native....(). The early > > > one does not contain the hpet/pmtimer stuff and it replaces the ops.pointer > > > with the late one which contains all of it. > > > > Good idea. Actually, the late one will contain only hpet/pmtimer and I > > will set it only if tsc frequency was not determined only. > > If we determined tsc early in boot using one of the quick methods: > from cpuid/msr/quick_pit, can we assume that frequencies of all other > CPUs will be determined the same way? Or do we still have to fallback > to PIT/HPET/PMTIMER? I wondering if we support heterogeneous > multi-socket platforms with different CPUs, because that the only > platforms where I see such scenario is possible. The frequency for secondary CPUs is usually taken from the boot CPU and the only reason why recalibration can happen is when the CPU does not have a constant frequency TSC. For that case the quick PIT + hpet/pmtimer calibration bundle is required. So yes, the early calibration might work with quick PIT (those CPUs definitely do not have MSR/CPUID based calibration), but the recalibration might fail the quick PIT calibration for various reasons. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html