CONFIG_SYS_HEAP_ALLOC_LOOPS
Number of tries in the inner heap allocation loop
Type: int
Help
The sys_heap allocator bounds the number of tries from the
smallest chunk level (the one that might not fit the
requested allocation) to maintain constant time performance.
Setting this to a high level will cause the heap to return
more successful allocations in situations of high
fragmentation, at the cost of potentially significant
(linear time) searching of the free list. The default is
three, which results in an allocator with good statistical
properties ("most" allocations that fit will succeed) but
keeps the maximum runtime at a tight bound so that the heap
is useful in locked or ISR contexts.
Default
3
Kconfig definition
At <Zephyr>/lib/os/Kconfig:33
Included via <Zephyr>/Kconfig:8
→ <Zephyr>/Kconfig.zephyr:43
→ <Zephyr>/lib/Kconfig:10
Menu path: (Top) → Additional libraries → OS Support Library
config SYS_HEAP_ALLOC_LOOPS
int "Number of tries in the inner heap allocation loop"
default 3
help
The sys_heap allocator bounds the number of tries from the
smallest chunk level (the one that might not fit the
requested allocation) to maintain constant time performance.
Setting this to a high level will cause the heap to return
more successful allocations in situations of high
fragmentation, at the cost of potentially significant
(linear time) searching of the free list. The default is
three, which results in an allocator with good statistical
properties ("most" allocations that fit will succeed) but
keeps the maximum runtime at a tight bound so that the heap
is useful in locked or ISR contexts.
(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)