lkml.org 
[lkml]   [2004]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: [PATCH] Automatically enable bigsmp on big HP machines
Date
From


Instead of handling these individually for particular systems,
can't we just switch to bigsmp whenever we see more than 8 CPU
in the CPU enumeration and no other subarchitecture is selected by
any dmi override.

I had some patch that does soemthing like this, a while back. If
you are OK with the idea, I can dig out that patch and send it.

Thanks,
Venki

>-----Original Message-----
>From: linux-kernel-owner@vger.kernel.org
>[mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of Andi Kleen
>Sent: Thursday, August 05, 2004 5:39 AM
>To: akpm@osdl.org
>Cc: linux-kernel@vger.kernel.org
>Subject: [PATCH] Automatically enable bigsmp on big HP machines
>
>
>This enables apic=bigsmp automatically on some big HP machines
>that need it.
>This makes them boot without kernel parameters on a generic
>arch kernel.
>
>Also it removes an unnecessary panic in the same area.
>
>-Andi
>
>diff -u linux-2.6.7/arch/i386/kernel/dmi_scan.c-HP
>linux-2.6.7/arch/i386/kernel/dmi_scan.c
>--- linux-2.6.7/arch/i386/kernel/dmi_scan.c-HP 2004-08-05
>14:00:29.325072566 +0200
>+++ linux-2.6.7/arch/i386/kernel/dmi_scan.c 2004-08-05
>14:19:57.058593500 +0200
>@@ -272,6 +272,16 @@
> }
> #endif
>
>+static __init int hp_ht_bigsmp(struct dmi_blacklist *d)
>+{
>+#ifdef CONFIG_X86_GENERICARCH
>+ extern int dmi_bigsmp;
>+ printk(KERN_NOTICE "%s detected: force use of
>apic=bigsmp\n", d->ident);
>+ dmi_bigsmp = 1;
>+#endif
>+ return 0;
>+}
>+
> /*
> * Process the DMI blacklists
> */
>@@ -460,6 +455,17 @@
> #endif // CONFIG_ACPI_BOOT
>
> #ifdef CONFIG_ACPI_PCI
>+
>+ { hp_ht_bigsmp, "HP ProLiant DL760 G2", {
>+ MATCH(DMI_BIOS_VENDOR, "HP"),
>+ MATCH(DMI_BIOS_VERSION, "P44-"),
>+ NO_MATCH, NO_MATCH }},
>+
>+ { hp_ht_bigsmp, "HP ProLiant DL740", {
>+ MATCH(DMI_BIOS_VENDOR, "HP"),
>+ MATCH(DMI_BIOS_VERSION, "P47-"),
>+ NO_MATCH, NO_MATCH }},
>+
> /*
> * Boxes that need ACPI PCI IRQ routing disabled
> */
>diff -u linux-2.6.7/arch/i386/kernel/io_apic.c-HP
>linux-2.6.7/arch/i386/kernel/io_apic.c
>--- linux-2.6.7/arch/i386/kernel/io_apic.c-HP 2004-08-05
>14:00:29.328072077 +0200
>+++ linux-2.6.7/arch/i386/kernel/io_apic.c 2004-08-05
>14:17:49.595383418 +0200
>@@ -1714,7 +1714,7 @@
> reg_00.raw = io_apic_read(apic, 0);
> spin_unlock_irqrestore(&ioapic_lock, flags);
> if (reg_00.bits.ID != mp_ioapics[apic].mpc_apicid)
>- panic("could not set ID!\n");
>+ printk(" could not set ID!\n");
> else
> printk(" ok.\n");
> }
>-
>To unsubscribe from this list: send the line "unsubscribe
>linux-kernel" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:04    [W:0.037 / U:0.256 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site