[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <86802c440707211749x3258891fhbb72a155dc484e86@mail.gmail.com>
Date: Sat, 21 Jul 2007 17:49:41 -0700
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: "Andi Kleen" <ak@...e.de>,
"Andrew Morton" <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH 3/3] x86_64: offset apicid_to_node before use it before init_cpu_to_node
[PATCH 3/3] x86_64: offset apicid_to_node before use it before init_cpu_to_node
When acpi=off or there is no SRAT defined, apicid_to_node is got from K8
Northbridge PCI configuration space in k8_scan_nodes() in
arch/x86_64/mm/k8toplogy.c.
The problem is that it assumes bsp apic id is 0 at that point.
For four socket system with Quad core cpus installed, all cpus apic id
is offset by 4, and bsp apic id is 4.
For eight socket system with dual core cpus installed, all cpus apic id
is offset by 2, and bsp apic id is 2.
We need offset apicid_to_node array according to boot_cpu_id.--- bsp apic id.
before we use apicid_to_node array.
boot_cpu_id is only valid init_apic_mappings.
So do update_apicid_to_node and init_cpu_to_node after init_apic_mappings
Signed-off-by: Yinghai Lu <yhlu.kernel@...il.com>
arch/x86_64/kernel/setup.c | 10 ++++++++--
arch/x86_64/mm/numa.c | 24 ++++++++++++++++++++++++
include/asm-x86_64/numa.h | 2 ++
3 files changed, 34 insertions(+), 2 deletions(-)
View attachment "3.patch" of type "text/x-patch" (2249 bytes)
Powered by blists - more mailing lists