From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758087AbZBFTV7 (ORCPT ); Fri, 6 Feb 2009 14:21:59 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753566AbZBFTVv (ORCPT ); Fri, 6 Feb 2009 14:21:51 -0500 Received: from mail.candelatech.com ([208.74.158.172]:53806 "EHLO ns3.lanforge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753512AbZBFTVu (ORCPT ); Fri, 6 Feb 2009 14:21:50 -0500 Message-ID: <498C8DB7.3000005@candelatech.com> Date: Fri, 06 Feb 2009 11:21:27 -0800 From: Ben Greear Organization: Candela Technologies User-Agent: Thunderbird 1.5.0.12 (X11/20070530) MIME-Version: 1.0 To: Ingo Molnar CC: Yinghai Lu , "H. Peter Anvin" , Thomas Gleixner , "Maciej W. Rozycki" , linux-kernel , len.brown@intel.com Subject: Re: PATCH: (v2) Allow over-ride of smp_found_cfg with kernel cmd-line option. References: <498B421D.9090609@candelatech.com> <20090205195832.GD3129@elte.hu> In-Reply-To: <20090205195832.GD3129@elte.hu> Content-Type: multipart/mixed; boundary="------------020605020806080604030100" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------020605020806080604030100 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Ingo Molnar wrote: > * Ben Greear wrote: > >> Allow user to keep smp_found_cfg set to 1 even if MADT >> cannot be parsed. This works around funky BIOS on FWA-7304 >> (VIA CN700 chipset) system, and possibly other systems as well. >> Without this override, performance drops by around 15% on >> network throughput tests on this system. > I'd _much_ rather have a warning message printed and have a default, > unconditional fallback to mptable parsing in this case. > > I.e. same end result just no ugly and inconvenient force_smp_found_cfg. > > The mptable works fine in most such cases to enumerate apic details. (as it > does in your case, evidently) > > And if both the ACPI and the MPTABLE is hosed on a box, it cannot be of much > use on other OSs either, right? > > So please do a patch that removes the 'smp_found_config' and which changes > the warning message to warn about no ACPI table in the MADT table. Ok? An updated patch is attached. It's also inline below, but I'm sure the inline version is white-space corrupted. Do not disable mptable parsing just because there is no ACPI table in the MADT table. This effectively backs out changeset 7b37b5fd9ba32c0c5afc3537eed7e7466f2173e2 Signed-Off-By: Ben Greear Thanks, Ben diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index d37593c..74a50b6 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c @@ -1379,12 +1379,14 @@ static void __init acpi_process_madt(void) * ACPI found no MADT, and so ACPI wants UP PIC mode. * In the event an MPS table was found, forget it. * Boot with "acpi=off" to use MPS on such a system. + * + * NOTE: This assumption seems wrong in at least some cases, perhaps + * when ACPI is off in the BIOS. Changing to a warning without + * setting smp_found_config to zero. */ - if (smp_found_config) { + if (smp_found_config) printk(KERN_WARNING PREFIX - "No APIC-table, disabling MPS\n"); - smp_found_config = 0; - } + "WARNING: No ACPI-table found in the MADT\n"); } /* -- Ben Greear Candela Technologies Inc http://www.candelatech.com --------------020605020806080604030100 Content-Type: text/plain; name="madt_patch.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="madt_patch.txt" diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index d37593c..74a50b6 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c @@ -1379,12 +1379,14 @@ static void __init acpi_process_madt(void) * ACPI found no MADT, and so ACPI wants UP PIC mode. * In the event an MPS table was found, forget it. * Boot with "acpi=off" to use MPS on such a system. + * + * NOTE: This assumption seems wrong in at least some cases, perhaps + * when ACPI is off in the BIOS. Changing to a warning without + * setting smp_found_config to zero. */ - if (smp_found_config) { + if (smp_found_config) printk(KERN_WARNING PREFIX - "No APIC-table, disabling MPS\n"); - smp_found_config = 0; - } + "WARNING: No ACPI-table found in the MADT\n"); } /* --------------020605020806080604030100--