From: William Lee Irwin III <wli@holomorphy.com>
To: torvalds@osdl.org
Cc: Andrew Theurer <habanero@us.ibm.com>,
Dave Hansen <haveblue@us.ibm.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>,
"Martin J. Bligh" <mbligh@aracnet.com>
Subject: Re: CPU boot problem on 2.6.0-test3-bk8
Date: Thu, 21 Aug 2003 16:10:20 -0700 [thread overview]
Message-ID: <20030821231020.GW3170@holomorphy.com> (raw)
In-Reply-To: <20030821224543.GL4306@holomorphy.com>
On Thu, Aug 21, 2003 at 03:45:43PM -0700, William Lee Irwin III wrote:
> That broke sparse APIC ID's on several subarches. This is a bit less
> indiscriminate about who it updates (and should replace the prior patch
> wrt. sending anything upstream):
This must go in regardless; in the bios_cpu_apicid[] case, it would
walk off the end of bios_cpu_apicid[] and attempt to send APIC INIT
messages to garbage without this patch, and in the NUMA-Q case, it
would attempt to send NMI wakeups to destinations in the broadcast
cluster (which is harmless, but very poor form) without this patch.
vs. current bk as of 4:01PM PDT.
Linus, please apply.
-- wli
===== include/asm-i386/mach-bigsmp/mach_apic.h 1.16 vs edited =====
--- 1.16/include/asm-i386/mach-bigsmp/mach_apic.h Wed Aug 20 22:32:06 2003
+++ edited/include/asm-i386/mach-bigsmp/mach_apic.h Thu Aug 21 15:07:42 2003
@@ -86,7 +86,10 @@
static inline int cpu_present_to_apicid(int mps_cpu)
{
- return (int) bios_cpu_apicid[mps_cpu];
+ if (mps_cpu < NR_CPUS)
+ return (int)bios_cpu_apicid[mps_cpu];
+ else
+ return BAD_APICID;
}
static inline physid_mask_t apicid_to_cpu_present(int phys_apicid)
===== include/asm-i386/mach-es7000/mach_apic.h 1.3 vs edited =====
--- 1.3/include/asm-i386/mach-es7000/mach_apic.h Wed Aug 20 22:32:06 2003
+++ edited/include/asm-i386/mach-es7000/mach_apic.h Thu Aug 21 15:08:41 2003
@@ -106,8 +106,10 @@
{
if (!mps_cpu)
return boot_cpu_physical_apicid;
- else
+ else if (mps_cpu < NR_CPUS)
return (int) bios_cpu_apicid[mps_cpu];
+ else
+ return BAD_APICID;
}
static inline physid_mask_t apicid_to_cpu_present(int phys_apicid)
===== include/asm-i386/mach-numaq/mach_apic.h 1.22 vs edited =====
--- 1.22/include/asm-i386/mach-numaq/mach_apic.h Wed Aug 20 22:32:06 2003
+++ edited/include/asm-i386/mach-numaq/mach_apic.h Thu Aug 21 15:10:31 2003
@@ -65,9 +65,17 @@
return (int)cpu_2_logical_apicid[cpu];
}
+/*
+ * Supporting over 60 cpus on NUMA-Q requires a locality-dependent
+ * cpu to APIC ID relation to properly interact with the intelligent
+ * mode of the cluster controller.
+ */
static inline int cpu_present_to_apicid(int mps_cpu)
{
- return ((mps_cpu >> 2) << 4) | (1 << (mps_cpu & 0x3));
+ if (mps_cpu < 60)
+ return ((mps_cpu >> 2) << 4) | (1 << (mps_cpu & 0x3));
+ else
+ return BAD_APICID;
}
static inline int generate_logical_apicid(int quad, int phys_apicid)
===== include/asm-i386/mach-summit/mach_apic.h 1.31 vs edited =====
--- 1.31/include/asm-i386/mach-summit/mach_apic.h Wed Aug 20 22:32:06 2003
+++ edited/include/asm-i386/mach-summit/mach_apic.h Thu Aug 21 15:10:57 2003
@@ -87,7 +87,10 @@
static inline int cpu_present_to_apicid(int mps_cpu)
{
- return (int) bios_cpu_apicid[mps_cpu];
+ if (mps_cpu < NR_CPUS)
+ return (int)bios_cpu_apicid[mps_cpu];
+ else
+ return BAD_APICID;
}
static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_id_map)
next prev parent reply other threads:[~2003-08-21 23:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-20 21:58 CPU boot problem on 2.6.0-test3-bk8 Andrew Theurer
2003-08-21 1:02 ` Dave Hansen
2003-08-21 1:13 ` Andrew Theurer
2003-08-21 3:42 ` Dave Hansen
2003-08-21 14:10 ` Andrew Theurer
2003-08-21 14:58 ` Dave Hansen
2003-08-21 15:56 ` Andrew Theurer
2003-08-21 16:09 ` Dave Hansen
2003-08-21 17:02 ` Andrew Theurer
2003-08-21 21:13 ` William Lee Irwin III
2003-08-21 21:33 ` William Lee Irwin III
2003-08-21 22:17 ` William Lee Irwin III
2003-08-21 22:45 ` William Lee Irwin III
2003-08-21 23:10 ` William Lee Irwin III [this message]
2003-08-22 17:16 ` William Lee Irwin III
2003-08-22 18:16 ` Andrew Theurer
2003-08-22 19:11 ` Andrew Theurer
2003-08-21 15:28 ` Dave Hansen
2003-08-21 21:04 ` William Lee Irwin III
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=20030821231020.GW3170@holomorphy.com \
--to=wli@holomorphy.com \
--cc=akpm@osdl.org \
--cc=habanero@us.ibm.com \
--cc=haveblue@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.com \
--cc=torvalds@osdl.org \
/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.