On Mon, Nov 21, 2005 at 03:39:16PM -0800, Ashok Raj wrote:
>
> - if ((num_processors > 8) &&
> - APIC_XAPIC(ver) &&
> - (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL))
> + if (APIC_XAPIC(ver) &&
> + (CPU_HOTPLUG_ENABLED ||
> + ((num_processors > 8) &&
> + (boot_cpu_data.x86_vendor ==
> X86_VENDOR_INTEL))))
> def_to_bigsmp = 1;
Noticed that Andi send one more patch do enable bigsmp for AMD (i386), and the
APIC_XAPIC() check was not properly placed to factor this in. This updated
patch should work for AMD as well, and switch to bigsmp when we have hotplug
enabled.
--
Cheers,
Ashok Raj
- Open Source Technology Center
If we are using hotplug enabled kernel, then make bigsmp the default mode.
Signed-off-by: Ashok Raj <[email protected]>
Signed-off-by: Venkatesh Pallipadi <[email protected]>
-------------------------------------------------------
arch/i386/kernel/mpparse.c | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
Index: linux-2.6.15-rc1-mm2/arch/i386/kernel/mpparse.c
===================================================================
--- linux-2.6.15-rc1-mm2.orig/arch/i386/kernel/mpparse.c
+++ linux-2.6.15-rc1-mm2/arch/i386/kernel/mpparse.c
@@ -38,6 +38,12 @@
int smp_found_config;
unsigned int __initdata maxcpus = NR_CPUS;
+#ifdef CONFIG_HOTPLUG_CPU
+#define CPU_HOTPLUG_ENABLED (1)
+#else
+#define CPU_HOTPLUG_ENABLED (0)
+#endif
+
/*
* Various Linux-internal data structures created from the
* MP-table.
@@ -219,13 +225,18 @@ static void __devinit MP_processor_info
cpu_set(num_processors, cpu_possible_map);
num_processors++;
- if ((num_processors > 8) &&
- APIC_XAPIC(ver) &&
- (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL))
- def_to_bigsmp = 1;
- else
- def_to_bigsmp = 0;
-
+ if (CPU_HOTPLUG_ENABLED || (num_processors > 8)) {
+ switch (boot_cpu_data.x86_vendor) {
+ case X86_VENDOR_INTEL:
+ if (!APIC_XAPIC(ver)) {
+ def_to_bigsmp = 0;
+ break;
+ }
+ /* If P4 and above fall through */
+ case X86_VENDOR_AMD:
+ def_to_bigsmp = 1;
+ }
+ }
bios_cpu_apicid[num_processors - 1] = m->mpc_apicid;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]