Re: [PATCH v2 11/12] perf/x86: make HT bug workaround conditioned on HT enabled

From: Jiri Olsa
Date: Wed Oct 22 2014 - 09:28:42 EST


On Thu, Oct 09, 2014 at 06:34:45PM +0200, Stephane Eranian wrote:

SNIP

> + */
> +static __init int fixup_ht_bug(void)
> +{
> + int cpu = smp_processor_id();
> + int w, c;
> + /*
> + * problem not present on this CPU model, nothing to do
> + */
> + if (!(x86_pmu.flags & PMU_FL_EXCL_ENABLED))
> + return 0;
> +
> + w = cpumask_weight(topology_thread_cpumask(cpu));
> + if (w > 1) {
> + pr_info("CPU erratum BJ122, BV98, HSD29 worked around\n");
> + return 0;
> + }
> +
> + watchdog_nmi_disable_all();
> +
> + x86_pmu.flags &= ~(PMU_FL_EXCL_CNTRS | PMU_FL_EXCL_ENABLED);
> +
> + x86_pmu.commit_scheduling = NULL;
> + x86_pmu.start_scheduling = NULL;
> + x86_pmu.stop_scheduling = NULL;
> +
> + watchdog_nmi_enable_all();

if you build with CONFIG_LOCKUP_DETECTOR=n it wont link:

LD init/built-in.o
arch/x86/built-in.o: In function `fixup_ht_bug':
/root/linux/arch/x86/kernel/cpu/perf_event_intel.c:3267: undefined reference to `watchdog_nmi_disable_all'
/root/linux/arch/x86/kernel/cpu/perf_event_intel.c:3275: undefined reference to `watchdog_nmi_enable_all'

I think you need watchdog_nmi_(enable|disable)_all stubs out of kernel/watchdog.c

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