LWN: Comments on ""What every programmer should know about memory" - the PDF version" https://lwn.net/Articles/259710/ This is a special feed containing comments posted to the individual LWN article titled ""What every programmer should know about memory" - the PDF version". en-us Tue, 16 Sep 2025 16:19:27 +0000 Tue, 16 Sep 2025 16:19:27 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net "What every programmer should know about memory" - the PDF version https://lwn.net/Articles/282862/ https://lwn.net/Articles/282862/ ooozzz Hi. I read you great article week ago and just wrote a small narration (review?) about it (<a rel="nofollow" href="http://www.google.com/translate?u=http%3A%2F%2Fsergey-miryanov.blogspot.com%2Fsearch%2Flabel%2Fcpumem&hl=ru&ie=UTF8&sl=ru&tl=en">google translation</a>). <br><br> I hope you don't suppress it. <br><br> Thank you for your great article. <br><br> Sergey. Sat, 17 May 2008 20:06:19 +0000 link to each part? https://lwn.net/Articles/259996/ https://lwn.net/Articles/259996/ corbet You'll find all the links <a rel="nofollow" href="http://lwn.net/Articles/250967/#TOC">at the end of the first installment</a>. Yes, I know, that's perhaps not the most obvious place... Tue, 27 Nov 2007 17:03:57 +0000 link to each part? https://lwn.net/Articles/259990/ https://lwn.net/Articles/259990/ shapr <div class="FormattedComment"><pre> Could the links to all the parts be in one place? It's not easy to click from part one to part two and further. </pre></div> Tue, 27 Nov 2007 16:51:27 +0000 Definition of "cache coherency" https://lwn.net/Articles/259724/ https://lwn.net/Articles/259724/ ncm A fundamental error found on page 16 remains. <p> The erroneous text is, "In symmetric multi-processor (SMP) systems the caches of the CPUs cannot work independently from each other. All processors are supposed to see the same memory content <i>at all times</i>. The maintenance of this uniform view of memory is called 'cache coherency'." (Emphasis added.) <p> There are two errors here. First, it is not true that on all SMP systems, all processors are supposed to see the same memory content <i>at all times</i>. It is normal, e.g. on SMP PPC and Itanium systems, for different CPUs to see different values at the same address for some time after a write operation by one CPU, unless "barrier instructions" have been run after the write operation on both the writing and reading processors. The second error is related: the text above is not a correct definition of "cache coherency" as used by modern computer architects. Cache coherency requires that all processors <i>eventually</i> see writes by others (e.g., after the barrier instructions), not that they see the effect of all writes immediately. <p> The x86 architecture definition provides guarantees to the programmer about when writes by one processor are visible to others without barrier instructions, but these guarantees make the cache architecture much more complex, and less able to scale efficiently to more than a few processors. This complexity also makes it just that much less likely that the cache system will actually have been implemented correctly in every case. Unfortunately, buggy hardware remains in service long after the bug is known, making these "guarantees", and code that depends on them, less reliable. <p> (If these turn out to be the only serious errors in the document, it would remain a remarkable achievement.) Sat, 24 Nov 2007 10:37:18 +0000 "What every programmer should know about memory" - the PDF version https://lwn.net/Articles/259717/ https://lwn.net/Articles/259717/ ikm <div class="FormattedComment"><pre> I guess the redistribution of the URL is still allowed, though :) </pre></div> Sat, 24 Nov 2007 03:59:16 +0000 "What every programmer should know about memory" - the PDF version https://lwn.net/Articles/259716/ https://lwn.net/Articles/259716/ paravoid <div class="FormattedComment"><pre> It's a great read! Not that I'm not grateful, but sadly, it's rather non-free. Not even redistribution is allowed. I'd really love to be able to distribute this to fellow programmers... </pre></div> Sat, 24 Nov 2007 03:18:31 +0000