More resources on multithreading

Hey everyone,
I hope Casey won't ban me for posting CppCon references :) Here are some videos and articles that I found useful for multithreading:

Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"
https://www.youtube.com/watch?v=X1T3IQ4N-3g

Parallelizing the Naughty Dog Engine Using Fibers
www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine

Is Parallel Programming Hard, And, If So, What Can You Do About It?
https://www.kernel.org/pub/linux/.../paulmck/perfbook/perfbook-e1.pdf

Cache coherency primer
https://fgiesen.wordpress.com/2014/07/07/cache-coherency/

I remember reading a really good article about the MESI protocol, but can't find it at the moment. Will update the post if I manage to find it.
There's more stuff about MESI on ryg blog: https://fgiesen.wordpress.com/2014/08/18/atomics-and-contention/
Good video.
I liked the "juggling razorblades" analogy.