incubator-nuttx/mm
Yanfeng Liu 102a62c7e3 mm/mm_gran: remove allocation size limitation
This patch refactors granule allocator to remove the 32 granules
limitation with the help of a gran_range_s structure and related
functions, see "mm_grantable.h" for details.

Below are the major functions explaining how this works:

- The gran_match() checks if a gran range all in the given state.
  it gives last mismatch position when fails free range matching.
- The gran_search() tries to find the position of a free range.
  It leverages last mismatch position from gran_match() to speed
  up the search.

range size handling is mainly in gran_match() and gran_set_().

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-04-20 16:24:37 -03:00
..
bin build: add initial cmake build system 2023-07-08 13:50:48 +08:00
circbuf mm: Fix some typos 2023-11-24 09:57:10 -08:00
iob mm/iob: Replace the critical section with spin lock 2023-10-30 11:18:34 +02:00
kasan kasan: Implementing global variable out of bounds detection 2024-04-07 23:31:13 +08:00
kbin build: add initial cmake build system 2023-07-08 13:50:48 +08:00
kmap mm/kmap: Finalize kmap implementation for RISC-V 2023-11-23 16:38:41 -08:00
kmm_heap cmake:complete missing changes during cmake reforming for mm 2023-09-08 21:20:16 +03:00
map mm/map: minor reformating 2024-04-11 14:15:57 +08:00
mempool mm: Using Macros Instead of Memory to Fill Labels 2024-03-14 22:48:19 +08:00
mm_gran mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_heap sched/cpu: replace up_cpu_index() to this_cpu() 2024-03-21 18:52:35 +08:00
shm Documentation: remove all migrated READMEs 2023-10-29 21:03:54 -03:00
tlsf sched/cpu: replace up_cpu_index() to this_cpu() 2024-03-21 18:52:35 +08:00
ubsan cmake:complete missing changes during cmake reforming for mm 2023-09-08 21:20:16 +03:00
umm_heap cmake:complete missing changes during cmake reforming for mm 2023-09-08 21:20:16 +03:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig arch/kconfig: revising kernel mapping configs 2024-04-18 17:10:04 +08:00
Makefile mm/kmm_map: Add support to dynamically map pages into kernel virtual memory 2023-06-02 10:50:26 +08:00