incubator-nuttx/mm/mm_gran
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
..
CMakeLists.txt mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
Make.defs mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_gran.h mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_granalloc.c mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_grancritical.c mm/gran: Replace the critical section with spin lock 2023-10-30 11:18:34 +02:00
mm_granfree.c mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_graninfo.c nuttx: add more dependent header file 2023-04-11 09:13:32 +03:00
mm_graninit.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
mm_granrelease.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
mm_granreserve.c mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_grantable.c mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_grantable.h mm/mm_gran: remove allocation size limitation 2024-04-20 16:24:37 -03:00
mm_pgalloc.c mm/gran: Allow run-time execution of gran_reserve 2022-11-22 08:54:34 +01:00