Memory barriers: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
No edit summary
(Fixed blog links)
 
(One intermediate revision by one other user not shown)
Line 7: Line 7:
Memory Ordering in Modern Microprocesors, [http://www.linuxjournal.com/article/8211 Part 1] and [http://www.linuxjournal.com/article/8212 Part 2]
Memory Ordering in Modern Microprocesors, [http://www.linuxjournal.com/article/8211 Part 1] and [http://www.linuxjournal.com/article/8212 Part 2]


Ridiculous Fish's [http://ridiculousfish.com/blog/archives/2007/02/17/barrier/ controversial article] about using and abusing memory barriers. (and [http://www.thinkingparallel.com/2007/02/19/please-dont-rely-on-memory-barriers-for-synchronization/some bashing of this article] just for a different POV)
Ridiculous Fish's [http://ridiculousfish.com/blog/posts/barrier.html controversial article] about using and abusing memory barriers. (and [http://www.thinkingparallel.com/2007/02/19/please-dont-rely-on-memory-barriers-for-synchronization/ some bashing of this article] just for a different POV)


[http://www.gelato.unsw.edu.au/lxr/source/Documentation/memory-barriers.txt Documentation with explanations on what memory barriers are used in linux kernel and why.]
[http://www.gelato.unsw.edu.au/lxr/source/Documentation/memory-barriers.txt Documentation with explanations on what memory barriers are used in linux kernel and why.]

{{stub}}

[[Category:Synchronization]]

Latest revision as of 04:05, 22 August 2018

Memory barriers ensure ordering of load/store commands.

Usually CPUs and compilers reorder these instructions for more efficient execution. Lock-free algorithms often require that perceived execution order be strict, that's when memory barriers or memory fences come in handy.

More detailed description in following articles:

Memory Ordering in Modern Microprocesors, Part 1 and Part 2

Ridiculous Fish's controversial article about using and abusing memory barriers. (and some bashing of this article just for a different POV)

Documentation with explanations on what memory barriers are used in linux kernel and why.

This page is a stub.
You can help the wiki by accurately adding more contents to it.