RTEMS | Refactor the first-fit heap implementation for modular allocator support (#5620)

mazen Adel (@mez3n) gitlab at rtems.org
Wed Jun 24 14:28:09 UTC 2026




mazen Adel commented: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5620#note_153191


Update:

I have opened the [merge request ](https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1308)for the heapimpl.h refactoring work. However, after discussion, we decided to keep the MR in draft state for now. The main reason is that the separation of functions between the generic heap interface and allocator-specific implementations is still not entirely clear, and we would like to better understand those boundaries before proceeding with the refactor.

To gain a better understanding of which functionalities are allocator specific and which functionalities are generic , The mentors recommended that I look into the user level heap APIs. The goal was to trace the path from the public allocation interfaces down to the internal heap implementation functions.

The user level heap functions currently map as follows:

* malloc → rtems_heap_allocate_aligned
* free → \_Protected_heap_Free
* realloc → \_Heap_Resize_block (or malloc when a resize is not possible)
* calloc → malloc
* malloc_info → \_Heap_Get_information
* malloc_walk → \_Protected_heap_Walk
* malloc_free_space → \_Protected_heap_Get_free_information

These functions further map to the following internal heap operations:

* rtems_heap_allocate_aligned → \_Heap_Allocate_aligned_with_boundary
* \_Protected_heap_Free → \_Heap_Free
* \_Heap_Resize_block
* \_Heap_Get_information → \_Protected_heap_Walk
* \_Protected_heap_Get_free_information → \_Heap_Get_free_information

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5620#note_153191
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/sent_notifications/4-8874ka330umrb4k894k9mq597-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260624/eab5ed82/attachment-0001.htm>


More information about the bugs mailing list