[cpp-threads] Yet another visibility question

Chris Thomasson Cristom at Comcast.Net
Sun Dec 24 04:12:56 GMT 2006


>                                                    (And I don't believe
> that the semantics of read_barrier_depends() are actually definable,
> which was the subject of the previous discussion here.)

> By "previous discussion", you mean the emails on this list in May of 2005?

> If by "definable" you mean "precisely defined in all contexts in which it
> could be used without getting a compilation error", then I won't argue.
> Otherwise, as you no doubt guessed, it means that a prior fetch of an
> index or pointer must be ordered before any subsequent dereferencing
> using that index or pointer.  For example, in:

>	a = 1;
>	read_barrier_depends();
>	b = 2;

> it might or might not force any ordering.  Currently it does on Alpha,
> but not necessarily on any other platform (x86's store ordering could
> be defeated by compiler optimizations, for example).

Indeed. Your RCU patent applications make heavy use of atomic loads with
data-dependency hints. Just like this:

https://coolthreads.dev.java.net/servlets/ProjectForumMessageView?forumID=17
97&messageID=11068


Now... I sure do hope that the C++ memory model that you guys finally agree
upon will be weak enough to support them! Luckily, now that the committee is
getting input from you, I think the odds are good that it will.


P.S...

Paul... I think it would be nice if you could join us over at
comp.programming.threads. We noticed a patent applications on a lock-free
proxy garbage collector you an Michael (SMR) invented... We would like to
discuss your implementation and possibly introduce you to a couple of other
algorithms... (e.g., Joe Seighs RCU+SMR and my vZOOM)





More information about the cpp-threads mailing list