Loading arch/x86/oprofile/nmi_int.c +10 −4 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -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; Loading @@ -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 Loading
arch/x86/oprofile/nmi_int.c +10 −4 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -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; Loading @@ -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