Re: PATCH: (v2) Allow over-ride of smp_found_cfg with kernel cmd-lineoption.

From: Yinghai Lu
Date: Fri Feb 06 2009 - 14:35:41 EST


Randy Dunlap wrote:
> Ben Greear wrote:
>> Ingo Molnar wrote:
>>> * Ben Greear <greearb@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx>
>>
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/