x86/oprofile: Use per_cpu() instead of __get_cpu_var()
authorRobert Richter <robert.richter@amd.com>
Thu, 9 Jul 2009 14:29:34 +0000 (16:29 +0200)
committerRobert Richter <robert.richter@amd.com>
Mon, 20 Jul 2009 14:43:18 +0000 (16:43 +0200)
__get_cpu_var() calls smp_processor_id(). When the cpu id is already
known, instead use per_cpu() to avoid generating the id again.

Signed-off-by: Robert Richter <robert.richter@amd.com>
arch/x86/oprofile/nmi_int.c

index e54f6a0..8cd4658 100644 (file)
@@ -294,7 +294,7 @@ static void nmi_cpu_shutdown(void *dummy)
 {
        unsigned int v;
        int cpu = smp_processor_id();
-       struct op_msrs *msrs = &__get_cpu_var(cpu_msrs);
+       struct op_msrs *msrs = &per_cpu(cpu_msrs, cpu);
 
        /* restoring APIC_LVTPC can trigger an apic error because the delivery
         * mode and vector nr combination can be illegal. That's by design: on
@@ -307,7 +307,7 @@ static void nmi_cpu_shutdown(void *dummy)
        apic_write(APIC_LVTERR, v);
        nmi_cpu_restore_registers(msrs);
 #ifdef CONFIG_OPROFILE_EVENT_MULTIPLEX
-       __get_cpu_var(switch_index) = 0;
+       per_cpu(switch_index, cpu) = 0;
 #endif
 }