From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751710AbdK1F2Y (ORCPT ); Tue, 28 Nov 2017 00:28:24 -0500 Received: from mail.kernel.org ([198.145.29.99]:33910 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751330AbdK1F2W (ORCPT ); Tue, 28 Nov 2017 00:28:22 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0FF6F21934 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=luto@kernel.org X-Google-Smtp-Source: AGs4zMbbj9f8huuq350Wz/4Vm5OZydoeGbW3AemtcSeZtks3A++8KpUnG1ejm1pWEnjLRTMjYnHTxiQUJyKACR4PoRY= MIME-Version: 1.0 In-Reply-To: <736042713.31089814.1511845056722.JavaMail.zimbra@redhat.com> References: <1511792499-4073-1-git-send-email-chuhu@redhat.com> <736042713.31089814.1511845056722.JavaMail.zimbra@redhat.com> From: Andy Lutomirski Date: Mon, 27 Nov 2017 21:28:01 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] x86/idt: load idt early in start_secondary To: Chunyu Hu Cc: Andy Lutomirski , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Peter Zijlstra , Borislav Petkov , Steven Rostedt , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 27, 2017 at 8:57 PM, Chunyu Hu wrote: > > > ----- 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? I imagine that Ingo can add it. > >> > > -- > Regards, > Chunyu Hu >