Re: [PATCH 3/3] perf_event: cleanup forcpu_clock_perf_event_update()

From: Frederic Weisbecker
Date: Wed Dec 09 2009 - 03:54:31 EST


On Wed, Dec 09, 2009 at 11:30:36AM +0800, Xiao Guangrong wrote:
> Using atomic64_xchg() instead of atomic64_read() and atomic64_set().
>
> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx>
> ---
> kernel/perf_event.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/perf_event.c b/kernel/perf_event.c
> index 592b293..8f46012 100644
> --- a/kernel/perf_event.c
> +++ b/kernel/perf_event.c
> @@ -4079,8 +4079,7 @@ static void cpu_clock_perf_event_update(struct perf_event *event)
> u64 now;
>
> now = cpu_clock(cpu);
> - prev = atomic64_read(&event->hw.prev_count);
> - atomic64_set(&event->hw.prev_count, now);
> + prev = atomic64_xchg(&event->hw.prev_count, now);
> atomic64_add(now - prev, &event->count);
> }


Reviewed-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>

--
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/