Commit 5f09fc68 authored by Robert Richter's avatar Robert Richter Committed by Ingo Molnar

perf/x86: Fix cmpxchg() usage in amd_put_event_constraints()

Now the return value of cmpxchg() is used to match an event. The
change removes the duplicate event comparison and traverses the list
until an event was removed. This also fixes the following warning:

 arch/x86/kernel/cpu/perf_event_amd.c:170: warning: value computed is not used
Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1333643084-26776-3-git-send-email-robert.richter@amd.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 10c25023
...@@ -205,10 +205,8 @@ static void amd_put_event_constraints(struct cpu_hw_events *cpuc, ...@@ -205,10 +205,8 @@ static void amd_put_event_constraints(struct cpu_hw_events *cpuc,
* when we come here * when we come here
*/ */
for (i = 0; i < x86_pmu.num_counters; i++) { for (i = 0; i < x86_pmu.num_counters; i++) {
if (nb->owners[i] == event) { if (cmpxchg(nb->owners + i, event, NULL) == event)
cmpxchg(nb->owners+i, event, NULL);
break; break;
}
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment