MCE, AMD: Hide smp-only code around CONFIG_SMP

From: Borislav Petkov
Date: Fri Feb 03 2012 - 14:18:07 EST


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));

@@ -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) {
--
1.7.9


--
Regards/Gruss,
Boris.
--
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/