Hi all, Today's linux-next merge of the tip tree got a conflict in arch/x86/kernel/cpu/perf_event_intel_uncore.c between commit 2c666adacc9e ("x86, intel, uncore: Fix CPU hotplug callback registration") from Linus' tree and commit 411cf180fa00 ("perf/x86/uncore: fix initialization of cpumask") from the tip tree. I fixed it up (maybe incorrectly - see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@canb.auug.org.au diff --cc arch/x86/kernel/cpu/perf_event_intel_uncore.c index 28922f62eb29,bd2253d40cff..000000000000 --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c @@@ -3868,6 -4234,41 +4234,41 @@@ static int __init uncore_pmus_register( return 0; } + static void __init uncore_cpumask_init(void) + { + int cpu; + + /* + * ony invoke once from msr or pci init code + */ + if (!cpumask_empty(&uncore_cpu_mask)) + return; + - get_online_cpus(); ++ cpu_notifier_register_begin(); + + for_each_online_cpu(cpu) { + int i, phys_id = topology_physical_package_id(cpu); + + for_each_cpu(i, &uncore_cpu_mask) { + if (phys_id == topology_physical_package_id(i)) { + phys_id = -1; + break; + } + } + if (phys_id < 0) + continue; + + uncore_cpu_prepare(cpu, phys_id); + uncore_event_init_cpu(cpu); + } + on_each_cpu(uncore_cpu_setup, NULL, 1); + - register_cpu_notifier(&uncore_cpu_nb); ++ __register_cpu_notifier(&uncore_cpu_nb); + - put_online_cpus(); ++ cpu_notifier_register_done(); + } + + static int __init intel_uncore_init(void) { int ret;