Re: [PATCH 1/2] perf_counter: dynamically allocate tasks'perf_counter_context struct [v2]

From: Paul Mackerras
Date: Fri May 22 2009 - 05:56:35 EST


Peter Zijlstra writes:

> On Fri, 2009-05-22 at 14:17 +1000, Paul Mackerras wrote:
> > + /*
> > + * Make sure other cpus see correct values for *ctx
> > + * once task->perf_counter_ctxp is visible to them.
> > + */
> > + smp_wmb();
> > + tctx = cmpxchg(&task->perf_counter_ctxp, NULL, ctx);
>
>
> Documentation/memory-barriers.txt:
>
> > Any atomic operation that modifies some state in memory and returns information
> > about the state (old or new) implies an SMP-conditional general memory barrier
> > (smp_mb()) on each side of the actual operation (with the exception of
> > explicit lock operations, described later). These include:
>
> > cmpxchg();

OK, fair enough, I'll take it out.

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