:orphan: .. title:: CONFIG_SYS_MEM_BLOCKS .. kconfig:: CONFIG_SYS_MEM_BLOCKS CONFIG_SYS_MEM_BLOCKS ##################### *(Yet Another) Memory Blocks Allocator* Type: ``bool`` Help ==== .. code-block:: none This enables support for memory block allocator where: () All memory blocks have a single fixed size. () Multiple blocks can be allocated or freed at the same time. () A group of blocks allocated together may not be contiguous. This is useful for operations such as scatter-gather DMA transfers. () Bookkeeping of allocated blocks is done outside of the associated buffer (unlike memory slab). This allows the buffer to reside in memory regions where these can be powered down to conserve energy. Defaults ======== No defaults. Implicitly defaults to ``n``. Kconfig definition ================== At ``/os/Kconfig.heap:106`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:43`` → ``/Kconfig:10`` → ``/os/Kconfig:88`` Menu path: (Top) → Additional libraries → OS Support Library → Heap and Memory Allocation .. code-block:: kconfig config SYS_MEM_BLOCKS bool "(Yet Another) Memory Blocks Allocator" help This enables support for memory block allocator where: () All memory blocks have a single fixed size. () Multiple blocks can be allocated or freed at the same time. () A group of blocks allocated together may not be contiguous. This is useful for operations such as scatter-gather DMA transfers. () Bookkeeping of allocated blocks is done outside of the associated buffer (unlike memory slab). This allows the buffer to reside in memory regions where these can be powered down to conserve energy. *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*