Re: MCE, AMD: Hide smp-only code around CONFIG_SMP

From: Randy Dunlap
Date: Fri Feb 03 2012 - 16:07:53 EST


On 02/03/2012 11:18 AM, Borislav Petkov wrote:
> On Thu, Feb 02, 2012 at 09:24:28PM +0100, Borislav Petkov wrote:
>>> Is this feature truly irrelevant on UP systems? I ask because I've
>>> always enabled this option on my UP AMD systems in the past...
>>
>> No, you're right. Thanks for the suggestion. Scratch that version, I'll
>> think of a better fix.
>
> Ok, I think I got it, pls take a look and scream if something's amiss.
>
> @Randy: it builds fine with your randconfig and with mine default one;
> I'd appreciate if you could run it too, just in case.

Yes, it's fine for me also.
Thanks.

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>


> Thanks.
>
> --
> From: Borislav Petkov <bp@xxxxxxxxx>
> Date: Fri, 3 Feb 2012 18:07:54 +0100
> Subject: [PATCH] MCE, AMD: Hide smp-only code around CONFIG_SMP
>
> 141168c36cde ("x86: Simplify code by removing a !SMP #ifdefs from
> 'struct cpuinfo_x86'") removed a bunch of CONFIG_SMP ifdefs around code
> touching struct cpuinfo_x86 members but also caused the following build
> error with Randy's randconfigs:
>
> mce_amd.c:(.cpuinit.text+0x4723): undefined reference to `cpu_llc_shared_map'
>
> Restore the #ifdef in threshold_create_bank() which creates symlinks on
> the non-BSP CPUs.
>
> Cc: Kevin Winchester <kjwinchester@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
> Link: http://lkml.kernel.org/r/4F298A6C.6010101@xxxxxxxxxxxx
> Signed-off-by: Borislav Petkov <bp@xxxxxxxxx>
> ---
> arch/x86/kernel/cpu/mcheck/mce_amd.c | 2 ++
> 1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> index 786e76a..e4eeaaf 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> @@ -528,6 +528,7 @@ static __cpuinit int threshold_create_bank(unsigned int cpu, unsigned int bank)
>
> sprintf(name, "threshold_bank%i", bank);
>
> +#ifdef CONFIG_SMP
> if (cpu_data(cpu).cpu_core_id && shared_bank[bank]) { /* symlink */
> i = cpumask_first(cpu_llc_shared_mask(cpu));
>
> @@ -553,6 +554,7 @@ static __cpuinit int threshold_create_bank(unsigned int cpu, unsigned int bank)
>
> goto out;
> }
> +#endif
>
> b = kzalloc(sizeof(struct threshold_bank), GFP_KERNEL);
> if (!b) {


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
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/