memory barrier question

From: Miklos Szeredi
Date: Wed Sep 15 2010 - 10:36:46 EST


Hi,

I'm trying to understand memory barriers but not quite succeeding.

Consider the following example:

Start:
p = NULL;
x = 0;

CPU1:
atomic_inc(&x);
p = &x;

CPU2:
if (p)
z = atomic_read(p);

Is it possible to end up with z == 0? What if there's a lock/unlock
before setting "p"? What if there's a write barrier before setting
"p"?

Thanks,
Miklos
--
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/