From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753629AbdK1E5i (ORCPT ); Mon, 27 Nov 2017 23:57:38 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50720 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752743AbdK1E5h (ORCPT ); Mon, 27 Nov 2017 23:57:37 -0500 Date: Mon, 27 Nov 2017 23:57:36 -0500 (EST) From: Chunyu Hu Reply-To: Chunyu Hu To: Andy Lutomirski , Thomas Gleixner Cc: Ingo Molnar , "H. Peter Anvin" , Peter Zijlstra , Borislav Petkov , Steven Rostedt , linux-kernel@vger.kernel.org Message-ID: <736042713.31089814.1511845056722.JavaMail.zimbra@redhat.com> In-Reply-To: References: <1511792499-4073-1-git-send-email-chuhu@redhat.com> Subject: Re: [PATCH] x86/idt: load idt early in start_secondary MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.66.12.107, 10.4.195.27] Thread-Topic: x86/idt: load idt early in start_secondary Thread-Index: +Na7eQDP36RurJGxqmW4IqxCa/w+DA== X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Tue, 28 Nov 2017 04:57:37 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ----- Original Message ----- > From: "Andy Lutomirski" > To: "Chunyu Hu" > Cc: "Thomas Gleixner" , "Ingo Molnar" , "H. Peter Anvin" , > "Peter Zijlstra" , "Andrew Lutomirski" , "Borislav Petkov" , > "Steven Rostedt" , linux-kernel@vger.kernel.org > Sent: Tuesday, November 28, 2017 11:41:20 AM > Subject: Re: [PATCH] x86/idt: load idt early in start_secondary > > On Mon, Nov 27, 2017 at 6:21 AM, Chunyu Hu wrote: > > For ap, idt is first loaded in cpu_init() with load_current_idt(), > > that is to say, no exception can be handled before there. And then > > the idt_table has been completed by the bp. > > > > While there are some WARNs which needs the UD exception handling > > in the early boot code might be triggered when something uexpected > > happens during boot. In that case, cpu would fail to boot as the > > exception can't be handled. A WARNing during boot is not usually > > meaning the system could not boot. > > > > One use case is when ftrace=function is setup in kernel cmdline, the > > ftrace callback function will be called for every traced function. > > And in my case, the first traced function is load_ucode_ap. And there > > are WARN()s in function trace callback handling, it failed to reboot > > as one of the WARN()s is triggered before load_current_idt() executed. > > > > To make WARN()s can work earlier to ap, we load the idt_table early > > in start_secondary, and keep the second time idt load in cpu_init, > > as there is a load_ucode_ap() there. > > Reviewed-by: Andy Lutomirski > > Except that this is presumably missing a Cc: stable. Do I need to resend this origin version and Cc stable? > -- Regards, Chunyu Hu