It might be possible to combine such a lock free algorithms with RCU and then set Hugh's SLAB_DESTROY_BY_RCU: It inserts a call_rcu between leaving the free pool and returning the page to the OS.* It requires type stable storage. That is, once a data area has been
allocated to a particular structure type, it always contains that
structure type, even when it has been freed from the list. Each list
requires its own free pool, which can never be returned to the OS.
The last of these is particularly lethal.