Is parallel programming hard, and, if so, what can you do about it?

Clone this repo:
  1. feeef53 cpu: List some hardware optimizations by Paul E. McKenney · 10 hours ago master
  2. 2441495 memorder: Use consistent names of WRC litmus tests by Akira Yokosawa · 13 hours ago
  3. 874590e memorder: Present P0()-P3() in consistent manner by SeongJae Park · 19 hours ago
  4. 83fc8d9 memorder: Fix wrong function reference by SeongJae Park · 19 hours ago
  5. 5a713fa memorder: Remove unnecessary comma by SeongJae Park · 19 hours ago
  6. 51807be memorder: Full-barrier properties of synchronize_rcu() by Paul E. McKenney · 2 days ago
  7. 1984d62 memorder: Add QQ on mythical load-to-load links by Paul E. McKenney · 2 days ago
  8. 235e7f2 memorder: Wordsmith "Where is Memory Ordering Needed?" section by Paul E. McKenney · 2 days ago
  9. a275ab7 memorder: Convert remaining code snippets in figures to listings by Akira Yokosawa · 2 days ago
  10. 08d3e6d memorder: Fix typo, remove now-self-referential reference by Paul E. McKenney · 3 days ago
  11. a508e84 memorder: Fix table of 'Summary of Memory Ordering' by Akira Yokosawa · 4 days ago
  12. 6846466 memorder: More reword to 'full-strength non-void RMW' by Akira Yokosawa · 4 days ago
  13. ff8b553 memorder: Fix usage of \IfInBook macro by Akira Yokosawa · 6 days ago
  14. ede1c8e memorder: Adjust hspace of table 'Summary of Memory Ordering' in 1c by Akira Yokosawa · 6 days ago
  15. 31e1730 memorder: Rewording by Paul E. McKenney · 4 days ago
  16. 092ba5c memorder: Improve DEC Alpha diagram by Paul E. McKenney · 4 days ago
  17. 0f49576 memorder: Self-review, fix typos by Paul E. McKenney · 4 days ago
  18. 3162ff4 memorder: Substitute WRC for WWC to illustrate non-MCA by Paul E. McKenney · 4 days ago
  19. e47df9e memorder: Fix trivial typo by Akira Yokosawa · 7 days ago
  20. c99a540 memorder: Transpose table 'Summary of Memory Ordering' by Akira Yokosawa · 8 days ago