Tag for-memequeue
11 bookmarks have this tag.
Stuff that could be useful for my memequeue project.
11 bookmarks have this tag.
Stuff that could be useful for my memequeue project.
Enables std debug assertions + presents an interface for building with a sanitizer.
Looks really cool. I wonder what’s inside.
How to spin before sleeping so that it actually helps and not harms?
Microbenchmark for futexes + spinlocks and some useful links at the bottom.
This blog post is one of those things that just blew up. From a tiny observation at work about odd behaviors of spinlocks I spent months trying to find good benchmarks, (still not entirely successful) writing my own spinlocks, mutexes and condition variables and even contributing a patch to the Linux kernel. The main thing I’ll try to answer is to give some more informed guidance on the endless discussion of mutex vs spinlock. Besides that I found that most mutex implementations are really good, that most spinlock implementations are pretty bad, and that the Linux scheduler is OK but far from ideal. The most popular replacement, the MuQSS scheduler has other problems instead. (the Windows scheduler is pretty good though)
Detailed explanation of futexes, including some possible pitfalls.
The paper’s claim:
False.
Compilers do optimize atomics, memory accesses around atomics, and utilize architecture-specific knowledge. This paper illustrates a few such optimizations, and discusses their implications.
Interestingly, none of the optimizations proposed in the paper actually work on GCC or Clang.
A first (as far as I know) description of ringbuffer based on two mmaps. I hope to make a better one sometime, but for now this’ll the best explanation I have.
A free book about atomics and locks that also serves as a nice cheatsheet for x86_64, aarch64 and futexes.
A recording debugger promising to “reduce the debugging time dramatically”.