Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751871AbdIFFlb (ORCPT ); Wed, 6 Sep 2017 01:41:31 -0400 Received: from mail.cn.fujitsu.com ([183.91.158.132]:47782 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751606AbdIFFla (ORCPT ); Wed, 6 Sep 2017 01:41:30 -0400 X-IronPort-AV: E=Sophos;i="5.41,482,1498492800"; d="scan'208";a="25263556" Subject: Re: [PATCH v8 06/13] x86/apic: Mark the apic_intr_mode extern for sanity check cleanup To: Baoquan He References: <1503890438-27840-1-git-send-email-douly.fnst@cn.fujitsu.com> <1503890438-27840-7-git-send-email-douly.fnst@cn.fujitsu.com> <20170906042514.GF30906@x1> <20170906052614.GG30906@x1> CC: , , , , , , , , From: Dou Liyang Message-ID: <96aae229-04d4-fc31-9646-3ca7c029365a@cn.fujitsu.com> Date: Wed, 6 Sep 2017 13:41:26 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20170906052614.GG30906@x1> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.167.226.106] X-yoursite-MailScanner-ID: 6A9484725554.A97C0 X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: douly.fnst@cn.fujitsu.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1946 Lines: 83 Hi Baoquan, At 09/06/2017 01:26 PM, Baoquan He wrote: [...] >>> static void __init smp_cpu_index_default(void) >>> @@ -1335,19 +1295,20 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) >> >> Please also cleanup the passed in max_cpus since it's not used here any >> more. And up to the caller: > > Oops, I just checked x86 code, other arch also have this hook. Please > ingore this comment. > Yes, you are right. As I also found the comments for native_smp_prepare_cpus() is out of date. I will update the comment and explain it like: diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 4f63afc..9f8479c 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1260,8 +1260,10 @@ static void __init smp_get_logical_apicid(void) } /* - * Prepare for SMP bootup. The MP table or ACPI has been read - * earlier. Just do some sanity checking here and enable APIC mode. + * Prepare for SMP bootup. + * + * @max_cpus: configured maximum number of CPUs + * It don't be used, but other arch also have this hook, so keep it. */ void __init native_smp_prepare_cpus(unsigned int max_cpus) { Thanks, dou. >> >> static noinline void __init kernel_init_freeable(void) >> { >> ... >> smp_prepare_cpus(setup_max_cpus); >> ... >> } >> >>> >>> apic_intr_mode_init(); >>> >>> - switch (smp_sanity_check(max_cpus)) { >>> - case SMP_NO_CONFIG: >>> - disable_smp(); >>> - return; >>> - case SMP_NO_APIC: >>> + smp_sanity_check(); >>> + >>> + switch (apic_intr_mode) { >>> + case APIC_PIC: >>> + case APIC_VIRTUAL_WIRE_NO_CONFIG: >>> disable_smp(); >>> return; >>> - case SMP_FORCE_UP: >>> + case APIC_SYMMETRIC_IO_NO_ROUTING: >>> disable_smp(); >>> /* Setup local timer */ >>> x86_init.timers.setup_percpu_clockev(); >>> return; >>> - case SMP_OK: >>> + case APIC_VIRTUAL_WIRE: >>> + case APIC_SYMMETRIC_IO: >>> break; >>> } >>> >>> -- >>> 2.5.5 >>> >>> >>> > > >