lrmichael is a malloc(3) implemention of the lock-free memory allocator described in Scalable Lock-Free Dynamic Memory Allocation, by Maged M. Michael.
This implementation uses 2MB superblocks, and keeps block metadata per page in a seperate component instead of using boundary tags, achieving some allocator/user memory segregation.
To compile, just download this repository and run
makeIf successfully compiled, you can link lrmichael with your application at compile time with
-llrmichaelor you can dynamically link it with your application by using LD_PRELOAD (if your application was not statically linked with another memory allocator).
LD_PRELOAD=lrmichael.so ./your_applicationLicence: MIT
Read file COPYING.