![]() | |||||||||||
Messages in this thread |
On Thu, Aug 21, 2008 at 09:48:09AM -0700, Paul E. McKenney wrote: > On Thu, Aug 21, 2008 at 09:18:29AM -0700, Linus Torvalds wrote: > > > > > > On Thu, 21 Aug 2008, Linus Torvalds wrote: > > > > > > No, I haven't seen the drafts > > > > Ok, I have looked at the draft now, and I don't think I was overly > > pessimistic. > > > > If I read it right, all the memory ordering operations are defined for > > _single_ objects. So if you want to do the kernel kind of memory ordering > > where you specify ordering requirements independently of the actual > > accesses (perhaps because the accesses are in some helper function that > > doesn't care, but then you want to "finalize" the thing by stating a > > sequence point), it seems to be impossible with current drafts. > > You are looking for atomic_fence() on page 1168 (1154 virtual) of the > most recent draft. The current semantics are not correct, but this is > being worked. And yes, it does currently have a variable associated with > it, but it acts as a bare fence nevertheless. There is a proposal to > drop the variable. As you said in a previous email, design by committee. And the proposal for variable-free memory-ordering operations was voted into the draft standard: http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2731.html Still not perfect, of course, but hopefully movement in the right direction. Thanx, Paul | ||||||||||
| Last update: 2008-09-24 02:05 [from the cache] ©2003-2008 | |||||||||||