Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any patch for Linux kernel to use different memory allocators, such as ned allocator or TLSF allocator?

share|improve this question
Maybe you should add some rationale for why this would be a good thing to do? If such a patch exists and hasn't already made its way into the kernel there's probably a good reason. – Neil Mayhew Sep 13 '10 at 19:26
I don't have any rationale as for linux kernel itself, but I'am developing multicore scalable real-time application using those allocator, and I see performance is better and scalable to the number of cores, so I'am asking is there any patch for linux kernel to be used those allocators, so my question is same as yours, if it hasn't ported to linux kernel, what's the reasons? – uray Sep 15 '10 at 11:29
I think you should simple investigate how Linux kernel does memory allocation and perhaps you will understand more about it. There are some fundamental differences compared to memory allocation in user-level programs, since there is no underlying OS to help you. – dkagedal Sep 15 '10 at 23:28
up vote 3 down vote accepted

The allocators you mention are userspace allocators, entirely different to kernel allocators. Perhaps some of the underlying concepts could be used in the kernel, but it would have to be implemented from scratch.

The kernel already has 3 allocators, SLAB, SLUB, SLOB, (and there was/is SLQB). SLUB in particular is designed to work well on multi-CPU systems.

As always if you have ideas on how to improve the kernel, your specific suggestions, preferably in the form of patches, are welcome on LKML :-)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.