From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753508AbdK1CI6 (ORCPT ); Mon, 27 Nov 2017 21:08:58 -0500 Received: from mga07.intel.com ([134.134.136.100]:61080 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751893AbdK1CI5 (ORCPT ); Mon, 27 Nov 2017 21:08:57 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,466,1505804400"; d="scan'208";a="6647132" Message-ID: <1511834933.2498.14.camel@intel.com> Subject: Regression: unable to boot after commit bd9240a18edf ("x86/apic: Add TSC_DEADLINE quirk due to errata") - Surface Pro 4 SKL From: Zhang Rui To: LKML , linux-x86 , peterz@infradead.org, tglx@linutronix.de Cc: Len Brown , "Chen, Yu C" Date: Tue, 28 Nov 2017 10:08:53 +0800 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 AuthorDate: Wed May 31 17:52:03 2017 +0200 Commit:     Thomas Gleixner 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)     Cc: kevin.b.stanton@intel.com     Link: http://lkml.kernel.org/r/20170531155306.050849877@infradead.o rg     Signed-off-by: Thomas Gleixner 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