Nico Williams emitted:
You keep saying that programmers don't understand "barriers".  You've
provided no evidence of this.  Meanwhile memory barriers are generally
well understood, and every programmer I know understands that a
"barrier" is a synchronization primitive that says that all operations
of a certain type will have completed prior to the barrier returning
control to its caller.

Well, since you don't know me, this does not contradict you, but ...

My understanding of a memory barrier, formed from close study of the need for them and some implementations, is that they cause a partial ordering of memory operations, such that all accesses instigated before the barrier is created occur before all accesses instigated after the barrier is created. This does not mean that the caller of a barrier-creating function (or the executor of a barrier-creating instruction) does not get control until all prior accesses have been "completed". The "caller" may well continue executing instructions from cache, and other execution units may not be held up at all unless they instigate an "after" access.

I will be happy to become differently educated on this subject. (perhaps via some evidence ;-)

Cheers,
--
Larry Brasfield

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to