Hi, All, My Surface Pro 4 is unable to boot after 4.12. The symptom is that kernel freezes during boot, and the last message in the screen is loading the initrd image. And I have bisected it to this commit
commit bd9240a18edfbfa72e957fc2ba831cf1f13ea073 (refs/bisect/bad) Author: Peter Zijlstra <pet...@infradead.org> AuthorDate: Wed May 31 17:52:03 2017 +0200 Commit: Thomas Gleixner <t...@linutronix.de> CommitDate: Sun Jun 4 21:55:53 2017 +0200 x86/apic: Add TSC_DEADLINE quirk due to errata Due to errata it is possible for the TSC_DEADLINE timer to misbehave after using TSC_ADJUST. A microcode update is available to fix this situation. Avoid using the TSC_DEADLINE timer if it is affected by this issue and report the required microcode version. [ tglx: Renamed function to apic_check_deadline_errata() ] Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org> Cc: kevin.b.stan...@intel.com Link: http://lkml.kernel.org/r/20170531155306.050849877@infradead.o rg Signed-off-by: Thomas Gleixner <t...@linutronix.de> Currently, I'm using v4.14 kernel with the following workaround on top. --- arch/x86/kernel/apic/apic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index ff89177..cd419d4 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -596,7 +596,7 @@ static const struct x86_cpu_id deadline_match[] = { DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_BROADWELL_CORE, 0x25), DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_BROADWELL_GT3E, 0x17), - DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_SKYLAKE_MOBILE, 0xb2), +// DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_SKYLAKE_MOBILE, 0xb2), DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_SKYLAKE_DESKTOP, 0xb2), DEADLINE_MODEL_MATCH_REV ( INTEL_FAM6_KABYLAKE_MOBILE, 0x52), -- 2.7.4 I'm reading the related code but have not figured out the root cause yet. Anyone suggestions? thanks, rui