This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 1244e142cb18172b43a15e6fe4943a7cc02d70e0 Author: Marco Casaroli <[email protected]> AuthorDate: Thu Oct 29 22:52:16 2026 +0100 Documentation/mm: Describe the search of the granule allocator. Say that an allocation gets the free range with the lowest address, and how the allocator finds it. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <[email protected]> --- Documentation/os/memory/index.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/os/memory/index.rst b/Documentation/os/memory/index.rst index 2f78ef63bd0..e3335f5f6ba 100644 --- a/Documentation/os/memory/index.rst +++ b/Documentation/os/memory/index.rst @@ -151,6 +151,11 @@ can occur from alignment; Of course, heap alignment should no be used unless (a) you are using the granule allocator to manage DMA memory and (b) your hardware has specific memory alignment requirements. +An allocation gets the free range of granules with the lowest address +(first fit). The allocator keeps the position of the lowest free +granule and starts each search there. The search reads the allocation +table one 32-bit word (32 granules) at a time. + The current implementation also restricts the maximum allocation size to 32 granules. That restriction could be eliminated with some additional coding effort, but currently requires larger granule
