mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into perf/urgent
This commit is contained in:
commit
debf1d4948
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue