lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090205195832.GD3129@elte.hu>
Date:	Thu, 5 Feb 2009 20:58:32 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Ben Greear <greearb@...delatech.com>,
	Yinghai Lu <yinghai@...nel.org>,
	"H. Peter Anvin" <hpa@...or.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	"Maciej W. Rozycki" <macro@...ux-mips.org>
Cc:	linux-kernel <linux-kernel@...r.kernel.org>, len.brown@...el.com
Subject: Re: PATCH:  Allow over-ride of smp_found_cfg with kernel cmd-line
	option.


* Ben Greear <greearb@...delatech.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.
>
> This is based on 2.6.29-rc3
>
> Signed-Off-By:  Ben Greear <greearb@...delatech.com>
>
>
> Thanks,
> Ben
>
> -- 
> Ben Greear <greearb@...delatech.com>
> Candela Technologies Inc  http://www.candelatech.com
>

> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index d37593c..e96bf19 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -87,6 +87,7 @@ u8 acpi_sci_flags __initdata;
>  int acpi_sci_override_gsi __initdata;
>  int acpi_skip_timer_override __initdata;
>  int acpi_use_timer_override __initdata;
> +int force_smp_found_cfg __initdata;
>  
>  #ifdef CONFIG_X86_LOCAL_APIC
>  static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
> @@ -1335,6 +1336,14 @@ static void __init early_acpi_process_madt(void)
>  #endif
>  }
>  
> +static int __init parse_force_smp_found_cfg(char *arg)
> +{
> +	force_smp_found_cfg = 1;
> +	return 0;
> +}
> +early_param("force_smp_found_cfg", parse_force_smp_found_cfg);
> +
> +
>  static void __init acpi_process_madt(void)
>  {
>  #ifdef CONFIG_X86_LOCAL_APIC
> @@ -1381,9 +1390,14 @@ static void __init acpi_process_madt(void)
>   		 * Boot with "acpi=off" to use MPS on such a system.
>   		 */
>  		if (smp_found_config) {
> -			printk(KERN_WARNING PREFIX
> -				"No APIC-table, disabling MPS\n");
> -			smp_found_config = 0;
> +			if (force_smp_found_cfg)
> +				printk(KERN_WARNING PREFIX
> +				       "No APIC-table, wanted to disable MPS, but will not\n  due to force_smp_found_cfg=1\n");
> +			else {
> +				printk(KERN_WARNING PREFIX
> +				       "No APIC-table, disabling MPS.  Use force_smp_found_cfg=1 to override\n");
> +				smp_found_config = 0;
> +			}
>  		}
>  	}
>  

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?

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ