perf: Fix perf_event_exit_cpu_context()
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Fri, 17 Sep 2010 09:28:49 +0000 (11:28 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 17 Sep 2010 10:48:48 +0000 (12:48 +0200)
Use the right cpu-context.. spotted by preempt warning on
hot-unplug

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Cc: Robert Richter <robert.richter@amd.com>
LKML-Reference: <20100917093009.461794357@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/perf_event.c

index 6d7eef5..27332e5 100644 (file)
@@ -6269,14 +6269,13 @@ static void perf_event_exit_cpu_context(int cpu)
 
        idx = srcu_read_lock(&pmus_srcu);
        list_for_each_entry_rcu(pmu, &pmus, entry) {
-               ctx = &this_cpu_ptr(pmu->pmu_cpu_context)->ctx;
+               ctx = &per_cpu_ptr(pmu->pmu_cpu_context, cpu)->ctx;
 
                mutex_lock(&ctx->mutex);
                smp_call_function_single(cpu, __perf_event_exit_context, ctx, 1);
                mutex_unlock(&ctx->mutex);
        }
        srcu_read_unlock(&pmus_srcu, idx);
-
 }
 
 static void perf_event_exit_cpu(int cpu)