#3757 assigned project

Alternative memory allocators

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: low Milestone: Indefinite
Component: score Version:
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

The current memory allocator in RTEMS uses a first fit strategy. This is an excellent allocator if you only allocate memory and never free it. However, for real dynamic workloads which allocate and free memory throughout the application run-time this strategy is subject to

  • unpredictable allocation times (linear search through free blocks),
  • memory fragmentation.

The global lock delivers bad performance on SMP systems. RTEMS applications run on a broad range of targets, from uniprocessor 64KiB RAM to SMP systems with more than 4GiB of RAM. So, the allocator should be configurable. Link-time configuration should take into account that some applications never free memory. They should not be forced to link in the free support.

Alternative allocator implementations are:

Change History (2)

comment:1 Changed on 06/14/22 at 06:36:23 by Chris Johns

Version: 5

comment:2 Changed on 06/14/22 at 07:11:14 by Chris Johns

The allocator has to provide an aligned allocation call. This can also be called a _boundary constrained_ call.

Note: See TracTickets for help on using tickets.