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

From: Peter Zijlstra
Date: Fri May 22 2009 - 04:06:46 EST


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();




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