Subject: linux-next: manual merge of the tip tree with Linus' tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 21 Mar 2014 15:23:03 +1100

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                    [email-masked]

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;