Re: [PATCH] perf: fix cmpxchg warning in perf_event_amd.c
From: Peter Zijlstra
Date: Wed May 19 2010 - 02:33:32 EST
On Tue, 2010-05-18 at 16:43 -0400, Jason Baron wrote:
> Hi,
>
> I'm getting the following warnings:
>
> In file included from arch/x86/kernel/cpu/perf_event.c:1343:
> arch/x86/kernel/cpu/perf_event_amd.c: In function
> âamd_put_event_constraintsâ:
> arch/x86/kernel/cpu/perf_event_amd.c:167: warning: value computed is not
> used
>
> Since cmpxchg returns a value, we need to use it. We can use it to test if its
> equal to "event".
Should we:
a) add a WARN_ONCE() there and make use of the return value (it should
never happen)
or
b) replace the lot with: nb->owners[i] = NULL; which should I _think_
work.
> Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx>
> ---
> arch/x86/kernel/cpu/perf_event_amd.c | 4 +---
> 1 files changed, 1 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/perf_event_amd.c b/arch/x86/kernel/cpu/perf_event_amd.c
> index 611df11..e13ce4a 100644
> --- a/arch/x86/kernel/cpu/perf_event_amd.c
> +++ b/arch/x86/kernel/cpu/perf_event_amd.c
> @@ -163,10 +163,8 @@ static void amd_put_event_constraints(struct cpu_hw_events *cpuc,
> * when we come here
> */
> for (i = 0; i < x86_pmu.num_counters; i++) {
> - if (nb->owners[i] == event) {
> - cmpxchg(nb->owners+i, event, NULL);
> + if (cmpxchg(nb->owners+i, event, NULL) == event)
> break;
> - }
> }
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/