From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756595AbcJGN6k (ORCPT ); Fri, 7 Oct 2016 09:58:40 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:44258 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753765AbcJGN6c (ORCPT ); Fri, 7 Oct 2016 09:58:32 -0400 Date: Fri, 7 Oct 2016 15:55:13 +0200 (CEST) From: Thomas Gleixner To: Markus Trippelsdorf cc: One Thousand Gnomes , Gu Zheng , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Dou Liyang Subject: Re: Bogus "APIC: NR_CPUS/possible_cpus limit of 4 reached" messages In-Reply-To: <20161007132634.GA20654@x4> Message-ID: References: <20161006112737.GA308@x4> <20161006124800.5a824dfc@lxorguk.ukuu.org.uk> <20161006115220.GB308@x4> <20161007132634.GA20654@x4> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 7 Oct 2016, Markus Trippelsdorf wrote: > On 2016.10.06 at 13:52 +0200, Markus Trippelsdorf wrote: > > On 2016.10.06 at 12:48 +0100, One Thousand Gnomes wrote: > > > On Thu, 6 Oct 2016 13:27:37 +0200 > > > Markus Trippelsdorf wrote: > > > > > > > On current trunk I get during boot: > > > > > > > > [ 0.000000] APIC: NR_CPUS/possible_cpus limit of 4 reached. Processor 4/0x84 ignored. > > > > [ 0.000000] APIC: NR_CPUS/possible_cpus limit of 4 reached. Processor 5/0x85 ignored. > > > > > > > > I don't think these messages make much sense on a 4-core machine. > > > > > > > > > > Four cores with or without hyperthreading ? > > > > Without. This is a rather old AMD machine (AMD Phenom II X4 955). That's due to the recent cpuid -> nodeid changes. The patch below should fix it. Thanks, tglx diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index f266b8a92a9e..88c657b057e2 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -2128,9 +2128,11 @@ int __generic_processor_info(int apicid, int version, bool enabled) if (num_processors >= nr_cpu_ids) { int thiscpu = max + disabled_cpus; - pr_warning( - "APIC: NR_CPUS/possible_cpus limit of %i reached." - " Processor %d/0x%x ignored.\n", max, thiscpu, apicid); + if (enabled) { + pr_warning("APIC: NR_CPUS/possible_cpus limit of %i " + "reached. Processor %d/0x%x ignored.\n", + max, thiscpu, apicid); + } disabled_cpus++; return -EINVAL;