All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ashok Raj <ashok.raj@intel.com>
To: akpm@osdl.org
Cc: linux-kernel@vger.kernel.org, ak@muc.de, ronald@hummelink.net,
	DiegoCG@teleline.es, venkatesh.pallipadi@intel.com
Subject: Dont record local apic ids when they are disabled in MADT
Date: Thu, 26 Jan 2006 05:48:42 -0800	[thread overview]
Message-ID: <20060126054842.A11917@unix-os.sc.intel.com> (raw)

Hi Andrew,

We had added additional_cpus=xx for x86_64, but apparently there were some
BIOSs that had duplicate apic ids when they were reported disabled.

It seems fair not to record them, this was causing some bad behaviour due to
the duplicate apic id. More details in the bugzilla recorded in the log.

Please help with inclusion.


-- 
Cheers,
Ashok Raj
- Open Source Technology Center


Some broken BIOS's had processors disabled, but 
same apic id as a valid processor. This causes
acpi_processor_start() to think this disabled 
cpu is ok, and croak. So we dont record bad
apicid's anymore.

http://bugzilla.kernel.org/show_bug.cgi?id=5930

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
------------------------------------------------------
 arch/i386/kernel/acpi/boot.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

Index: linux-2.6.16-rc1-mm2/arch/i386/kernel/acpi/boot.c
===================================================================
--- linux-2.6.16-rc1-mm2.orig/arch/i386/kernel/acpi/boot.c
+++ linux-2.6.16-rc1-mm2/arch/i386/kernel/acpi/boot.c
@@ -248,10 +248,17 @@ acpi_parse_lapic(acpi_table_entry_header
 
 	acpi_table_print_madt_entry(header);
 
-	/* Register even disabled CPUs for cpu hotplug */
-
-	x86_acpiid_to_apicid[processor->acpi_id] = processor->id;
+	/* Record local apic id only when enabled */
+	if (processor->flags.enabled)
+		x86_acpiid_to_apicid[processor->acpi_id] = processor->id;
 
+	/*
+	 * We need to register disabled CPU as well to permit
+	 * counting disabled CPUs. This allows us to size
+	 * cpus_possible_map more accurately, to permit
+	 * to not preallocating memory for all NR_CPUS
+	 * when we use CPU hotplug.
+	 */
 	mp_register_lapic(processor->id,	/* APIC ID */
 			  processor->flags.enabled);	/* Enabled? */
 

             reply	other threads:[~2006-01-26 13:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-26 13:48 Ashok Raj [this message]
2006-01-26 13:55 ` Dont record local apic ids when they are disabled in MADT Andi Kleen
2006-01-26 14:10   ` Ashok Raj
2006-01-26 14:34     ` Andi Kleen
2006-01-26 16:13       ` Ashok Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060126054842.A11917@unix-os.sc.intel.com \
    --to=ashok.raj@intel.com \
    --cc=DiegoCG@teleline.es \
    --cc=ak@muc.de \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ronald@hummelink.net \
    --cc=venkatesh.pallipadi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.