55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
# Copyright (c) 2021,2023 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "Memory Blocks"
|
|
|
|
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.
|
|
|
|
config SYS_MEM_BLOCKS_LISTENER
|
|
bool "Memory Blocks Allocator event notifications"
|
|
depends on SYS_MEM_BLOCKS
|
|
select HEAP_LISTENER
|
|
help
|
|
This allows application to listen for memory blocks allocator
|
|
events, such as memory allocation and de-allocation.
|
|
|
|
config SYS_MEM_BLOCKS_RUNTIME_STATS
|
|
bool "Memory blocks runtime statistics"
|
|
depends on SYS_MEM_BLOCKS
|
|
help
|
|
This option enables the tracking and reporting of the memory
|
|
blocks statistics related to the current and maximum number
|
|
of allocations in a given memory block.
|
|
|
|
config OBJ_CORE_SYS_MEM_BLOCKS
|
|
bool "Kernel object for memory blocks"
|
|
depends on SYS_MEM_BLOCKS && OBJ_CORE
|
|
default y if SYS_MEM_BLOCKS && OBJ_CORE
|
|
help
|
|
This option allows object cores to be integrated into memory block
|
|
objects.
|
|
|
|
config OBJ_CORE_STATS_SYS_MEM_BLOCKS
|
|
bool "Object core statistics for memory blocks"
|
|
depends on SYS_MEM_BLOCKS && OBJ_CORE_STATS
|
|
default y if SYS_MEM_BLOCKS && OBJ_CORE_STATS
|
|
select SYS_MEM_BLOCKS_RUNTIME_STATS
|
|
help
|
|
This option integrates the object core statistics framework into
|
|
the memory blocks.
|
|
|
|
endmenu
|