i386: make Oprofile call shutdown() only once per session
authorStephane Eranian <eranian@hpl.hp.com>
Wed, 17 Oct 2007 16:04:32 +0000 (18:04 +0200)
committerThomas Gleixner <tglx@inhelltoy.tec.linutronix.de>
Wed, 17 Oct 2007 18:15:14 +0000 (20:15 +0200)
Oprofile: call model->shutdown() only once to avoid calling release_ev*()
multiple times

[ tglx: arch/x86 adaptation ]

Signed-off-by: Stephane Eranian <eranian@hpl.hp.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/oprofile/nmi_int.c

index 11b7a51566a8cb4715dc606bf82534e374a210c8..2d0eeac7251f7bc3bca55b4b5b990ab5234d6917 100644 (file)
@@ -269,7 +269,6 @@ static void nmi_cpu_shutdown(void * dummy)
        apic_write(APIC_LVTPC, saved_lvtpc[cpu]);
        apic_write(APIC_LVTERR, v);
        nmi_restore_registers(msrs);
-       model->shutdown(msrs);
 }
 
  
@@ -278,6 +277,7 @@ static void nmi_shutdown(void)
        nmi_enabled = 0;
        on_each_cpu(nmi_cpu_shutdown, NULL, 0, 1);
        unregister_die_notifier(&profile_exceptions_nb);
+       model->shutdown(cpu_msrs);
        free_msrs();
 }