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

From: Ingo Molnar
Date: Tue Feb 07 2012 - 04:58:06 EST



* Borislav Petkov <bp@xxxxxxxxx> 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.
>
> 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));

Could we please just define an obvious cpu_llc_shared_mask on UP
(one bit long and set to 1) and not reintroduce the ugly
#ifdef CONFIG_SMP?

Thanks,

Ingo
--
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/