Messages in this thread | | | Date | Fri, 06 Feb 2009 11:34:45 -0800 | From | Yinghai Lu <> | Subject | Re: PATCH: (v2) Allow over-ride of smp_found_cfg with kernel cmd-line option. |
| |
Randy Dunlap wrote: > Ben Greear wrote: >> Ingo Molnar wrote: >>> * Ben Greear <greearb@candelatech.com> 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<greearb@candelatech.com> >> >> 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"); > > APIC table >
APIC-table == MADT
could just use
WARNING: No APIC-table found
YH
| |