Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit debf1d49 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'for-tip' of...

Merge branch 'for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into perf/urgent
parents e08f6d41 8fe7e94e
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -112,8 +112,10 @@ static void nmi_cpu_start(void *dummy)
static int nmi_start(void)
{
	get_online_cpus();
	on_each_cpu(nmi_cpu_start, NULL, 1);
	ctr_running = 1;
	/* make ctr_running visible to the nmi handler: */
	smp_mb();
	on_each_cpu(nmi_cpu_start, NULL, 1);
	put_online_cpus();
	return 0;
}
@@ -504,15 +506,18 @@ static int nmi_setup(void)

	nmi_enabled = 0;
	ctr_running = 0;
	barrier();
	/* make variables visible to the nmi handler: */
	smp_mb();
	err = register_die_notifier(&profile_exceptions_nb);
	if (err)
		goto fail;

	get_online_cpus();
	register_cpu_notifier(&oprofile_cpu_nb);
	on_each_cpu(nmi_cpu_setup, NULL, 1);
	nmi_enabled = 1;
	/* make nmi_enabled visible to the nmi handler: */
	smp_mb();
	on_each_cpu(nmi_cpu_setup, NULL, 1);
	put_online_cpus();

	return 0;
@@ -531,7 +536,8 @@ static void nmi_shutdown(void)
	nmi_enabled = 0;
	ctr_running = 0;
	put_online_cpus();
	barrier();
	/* make variables visible to the nmi handler: */
	smp_mb();
	unregister_die_notifier(&profile_exceptions_nb);
	msrs = &get_cpu_var(cpu_msrs);
	model->shutdown(msrs);