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
make
If successfully compiled, you can link lrmichael with your application at compile time with
-llrmichael
or 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_application
Licence: MIT
Read file COPYING.