[Xenomai] Question about config option –mem-pool-size

Philippe Gerum rpm at xenomai.org
Sat Dec 3 13:15:03 CET 2016

On 12/02/2016 10:49 PM, Jorge Ramirez wrote:
> On 12/02/2016 01:33 PM, Philippe Gerum wrote:
>> I plan to phase out TLSF entirely, which has poor performances with
>> respect to memory fragmentation (the numbers are actually pretty ugly).
>> So either we live with the current state of affairs until TLSF is
>> replaced, or a trivial patch preventing the extension will do.
> the TLSF website [1]  claims an average fragmentation lower than 15% an
> a maximum of 25%.

Which is not that great. Besides, I suspect those figures to have been
obtained on a 32bit CPU architecture. Trying on a 64bit one, e.g.
allocating 24 byte blocks or less from a 8Mb pool, I can see the worst
case doubling. The Xenomai core typically allocates small blocks.

Some attempts to fix this issue with the original TLSF exist:
https://github.com/mattconte/tlsf. However, I don't think TLSF best
matches the allocation pattern we have in kernel space.

> What do you hope the replacement algorithm will provide?
> [1] http://www.gii.upv.es/tlsf/

Less than 10%. In addition, the cobalt core allocator direly needs
improvements on the block release path, either by adding it a free page
bitmap like the pshared allocator now has, or by going for the drop in
replacement Gilles wrote. There is also the option of unifying the
implementation on the latter, replacing both the current cobalt
allocator and tlsf in the same move.


More information about the Xenomai mailing list