News for hackers. Stuff that matters.
Re:CPU Cache Flushing Fallacy by vemv on Thursday February 14, 2013 @11:59AM (#5220352)
"If our caches are always coherent then why do we worry about visibility when writing concurrent programs? This is because within our cores, in their quest for ever greater performance, data modifications can appear out-of-order to other threads"

I've read the opposite from various sources such as JCIP - a single unsynchronized-nonvolatile write could never be noticed by other threads (i.e. processors). I don't think that case falls into the "instruction reordering" category, does it?

Re:CPU Cache Flushing Fallacy by mjpt777 on Thursday February 14, 2013 @12:43PM (#5220647)
x86 is a total store order memory model so any ASM MOV instruction that writes to a memory address will eventually be seen when the store buffer drains. In code we must ensure the write is not register allocated. This is achieved by the use of lazySet() as described in the article.