mm/Kconfig: adjust config options order and fix typos

Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
This commit is contained in:
Neo Xu
2024-10-15 14:43:26 +08:00
committed by Xiang Xiao
parent 533c11eee2
commit 7466237b14
+127 -127
View File
@@ -104,6 +104,104 @@ config MM_MAP_COUNT_MAX
---help--- ---help---
The maximum number of memory map areas for each task. The maximum number of memory map areas for each task.
config MM_FILL_ALLOCATIONS
bool "Fill allocations with debug value"
default n
---help---
Fill all malloc() allocations with MM_ALLOC_MAGIC.
Fill all add_addregion() with MM_INIT_MAGIC.
Fill all free() with MM_FREE_MAGIC.
This helps detecting uninitialized variable errors.
config MM_BACKTRACE
int "The depth of backtrace"
default -1
---help---
Config the depth of backtrace in memory block by specified this
config: disable backtrace by -1, only record pid info by zero and
enable record backtrace info by 8(fixed depth).
config MM_BACKTRACE_SKIP
int "The skip depth of backtrace"
depends on MM_BACKTRACE > 0
default 3
config MM_BACKTRACE_DEFAULT
bool "Enable the backtrace record by default"
default n
depends on MM_BACKTRACE > 0
config MM_DUMP_ON_FAILURE
bool "Dump heap info on allocation failure"
default n
depends on DEBUG_MM
config MM_DUMP_DETAILS_ON_FAILURE
bool "Dump all used memory blocks on allocation failure"
default n
depends on MM_DUMP_ON_FAILURE
config MM_PANIC_ON_FAILURE
bool "Panic on allocation failure"
default n
depends on DEBUG_MM
config MM_FREE_DELAYCOUNT_MAX
int "Maximum memory nodes can be delayed to free"
default 0
---help---
Set to 0 to disable the delayed free mechanism. Otherwise,
the value decides the maximum number of memory nodes that
will be delayed to free.
config MM_HEAP_BIGGEST_COUNT
int "The largest malloc element dump count"
default 30
---help---
The dump support for largest allocated memory.
If too big, should take care of stack usage.
Define 0 to disable largest allocated element dump feature.
config MM_HEAP_MEMPOOL_THRESHOLD
int "Threshold for malloc size to use multi-level mempool"
default -1
---help---
If the size of the memory requested by the user is less
than the threshold, the memory will be requested from the
multiple mempool by default.
> 0 Enable pool feature, and set umm/kmm pool threshold size.
== 0 Enable pool feature, but disable the umm/kmm pool function.
< 0 Disable pool feature.
if MM_HEAP_MEMPOOL_THRESHOLD > 0
config MM_HEAP_MEMPOOL_EXPAND_SIZE
int "The expand size for each mempool in multiple mempool"
default 4096
---help---
This size describes the size of each expansion of each memory
pool with insufficient memory in the multi-level memory pool.
config MM_HEAP_MEMPOOL_DICTIONARY_EXPAND_SIZE
int "The expand size for multiple mempool's dictionary"
default MM_HEAP_MEMPOOL_EXPAND_SIZE
---help---
This size describes the multiple mempool dictionary expand.
config MM_HEAP_MEMPOOL_CHUNK_SIZE
int "The multiples pool chunk size"
default 0
---help---
This size describes the multiple mempool chunk size.
config MM_MIN_BLKSIZE
int "Minimum memory block size"
default 0
---help---
Users can configure the minimum memory block size as needed
endif # MM_HEAP_MEMPOOL_THRESHOLD > 0
config ARCH_HAVE_HEAP2 config ARCH_HAVE_HEAP2
bool bool
default n default n
@@ -137,10 +235,11 @@ config GRAN
allocation size to 32 granules. That restriction could be allocation size to 32 granules. That restriction could be
eliminated with some additional coding effort. eliminated with some additional coding effort.
if GRAN
config GRAN_INTR config GRAN_INTR
bool "Interrupt level support" bool "Interrupt level support"
default n default n
depends on GRAN
---help--- ---help---
Normally mutual exclusive access to granule allocator data is assured Normally mutual exclusive access to granule allocator data is assured
using a semaphore. If this option is set then, instead, mutual using a semaphore. If this option is set then, instead, mutual
@@ -151,11 +250,13 @@ config GRAN_INTR
config DEBUG_GRAN config DEBUG_GRAN
bool "Granule Allocator Debug" bool "Granule Allocator Debug"
default n default n
depends on GRAN && DEBUG_FEATURES depends on DEBUG_FEATURES
---help--- ---help---
Just like DEBUG_MM, but only generates output from the gran Just like DEBUG_MM, but only generates output from the gran
allocation logic. allocation logic.
endif # GRAN
config MM_PGALLOC config MM_PGALLOC
bool "Enable Page Allocator" bool "Enable Page Allocator"
default n default n
@@ -205,46 +306,6 @@ config MM_KMAP
kernel virtual memory. This includes pages that are already mapped kernel virtual memory. This includes pages that are already mapped
for user. for user.
config MM_HEAP_MEMPOOL_THRESHOLD
int "The default size of threshold to avoid using multiple mempool in heap"
default -1
---help---
If the size of the memory requested by the user is less
than the threshold, the memory will be requested from the
multiple mempool by default.
> 0 Enable pool feature, and set umm/kmm pool threshold size.
== 0 Enable pool feature, but disable the umm/kmm pool function.
< 0 Disable pool feature.
if MM_HEAP_MEMPOOL_THRESHOLD > 0
config MM_HEAP_MEMPOOL_EXPAND_SIZE
int "The expand size for each mempool in multiple mempool"
default 4096
---help---
This size describes the size of each expansion of each memory
pool with insufficient memory in the multi-level memory pool.
config MM_HEAP_MEMPOOL_DICTIONARY_EXPAND_SIZE
int "The expand size for multiple mempool's dictionary"
default MM_HEAP_MEMPOOL_EXPAND_SIZE
---help---
This size describes the multiple mempool dictionary expand.
config MM_HEAP_MEMPOOL_CHUNK_SIZE
int "The multiples pool chunk size"
default 0
---help---
This size describes the multiple mempool chunk size.
config MM_MIN_BLKSIZE
int "Minimum memory block size"
default 0
---help---
Users can configure the minimum memory block size as needed
endif # MM_HEAP_MEMPOOL_THRESHOLD > 0
config MM_HEAP_MEMPOOL_BACKTRACE_SKIP config MM_HEAP_MEMPOOL_BACKTRACE_SKIP
int "The skip depth of backtrace for mempool" int "The skip depth of backtrace for mempool"
default 6 default 6
@@ -253,9 +314,9 @@ config MM_HEAP_MEMPOOL_BACKTRACE_SKIP
This number is the skipped backtrace depth for mempool. This number is the skipped backtrace depth for mempool.
config FS_PROCFS_EXCLUDE_MEMPOOL config FS_PROCFS_EXCLUDE_MEMPOOL
bool "Exclude mempool" bool "Exclude mempool from procfs"
default DEFAULT_SMALL default DEFAULT_SMALL
depends on FS_PROCFS depends on FS_PROCFS && MM_HEAP_MEMPOOL_THRESHOLD > 0
config MM_KASAN config MM_KASAN
bool "Kernel Address Sanitizer" bool "Kernel Address Sanitizer"
@@ -319,7 +380,7 @@ config MM_KASAN_DISABLE_READS_CHECK
bool "Disable reads check" bool "Disable reads check"
default n default n
---help--- ---help---
This option disable kasan reads check. It speeds up performance This option disables kasan reads check. It speeds up performance
compared with default read/write check. Only disable it when you are compared with default read/write check. Only disable it when you are
sure there's no need to do so. Or performance is too bad and only focus sure there's no need to do so. Or performance is too bad and only focus
on writes check. on writes check.
@@ -328,13 +389,27 @@ config MM_KASAN_DISABLE_WRITES_CHECK
bool "Disable writes check" bool "Disable writes check"
default n default n
---help--- ---help---
This option disable kasan writes check. This option disables kasan writes check.
config MM_KASAN_DISABLE_READ_PANIC
bool "Disable panic on kasan read error"
default n
---help---
This option disables panic on kasan read error. It will print error info
and continue to run.
config MM_KASAN_DISABLE_WRITE_PANIC
bool "Disable panic on kasan write error"
default n
---help---
This option disables panic on kasan write error. It will print error info
and continue to run.
config MM_KASAN_SKIP_ZERO_TAGS config MM_KASAN_SKIP_ZERO_TAGS
bool "Enable skip check zero tags" bool "Enable skip check zero tags"
default LIBC_MODLIB default LIBC_MODLIB
---help--- ---help---
This option enables not checking for zero tags. This option disables checking for zero tags.
config MM_KASAN_GLOBAL config MM_KASAN_GLOBAL
bool "Enable global data check" bool "Enable global data check"
@@ -351,31 +426,14 @@ config MM_KASAN_GLOBAL
KEEP ( *(. data. rel. local.. LASAN0)) KEEP ( *(. data. rel. local.. LASAN0))
}", used to extract data generated by the compiler }", used to extract data generated by the compiler
if MM_KASAN_GLOBAL
config MM_KASAN_GLOBAL_ALIGN config MM_KASAN_GLOBAL_ALIGN
int "KASan global alignment" int "KASan global alignment"
default 1 default 1
depends on MM_KASAN_GLOBAL
---help--- ---help---
It is recommended to use 1, 2, 4, 8, 16, 32. It is recommended to use 1, 2, 4, 8, 16, 32.
The maximum value is 32. The maximum value is 32.
endif # MM_KASAN_GLOBAL
config MM_KASAN_DISABLE_READ_PANIC
bool "Disable panic on kasan read error"
default n
---help---
This option disable panic on kasan read error. It will print error info
and continue to run.
config MM_KASAN_DISABLE_WRITE_PANIC
bool "Disable panic on kasan write error"
default n
---help---
This option disable panic on kasan write error. It will print error info
and continue to run.
endif # MM_KASAN endif # MM_KASAN
config MM_UBSAN config MM_UBSAN
@@ -386,9 +444,10 @@ config MM_UBSAN
the program at compile-time to catch various kinds of the program at compile-time to catch various kinds of
undefined behavior during program execution undefined behavior during program execution
if MM_UBSAN
config MM_UBSAN_ALL config MM_UBSAN_ALL
bool "Enable UBSan for the entire image" bool "Enable UBSan for the entire image"
depends on MM_UBSAN
default y default y
---help--- ---help---
This option activates UBSan instrumentation for the This option activates UBSan instrumentation for the
@@ -400,7 +459,6 @@ config MM_UBSAN_ALL
config MM_UBSAN_OPTION config MM_UBSAN_OPTION
string "UBSan options" string "UBSan options"
depends on MM_UBSAN
default "-fsanitize=undefined" default "-fsanitize=undefined"
---help--- ---help---
This option activates specified UBSan instrumentation. Please This option activates specified UBSan instrumentation. Please
@@ -409,7 +467,6 @@ config MM_UBSAN_OPTION
config MM_UBSAN_TRAP_ON_ERROR config MM_UBSAN_TRAP_ON_ERROR
bool "Enable UBSan trap on error to crash immediately" bool "Enable UBSan trap on error to crash immediately"
depends on MM_UBSAN
default n default n
---help--- ---help---
The undefined instruction trap should cause your program to crash, The undefined instruction trap should cause your program to crash,
@@ -418,66 +475,9 @@ config MM_UBSAN_TRAP_ON_ERROR
config MM_UBSAN_DUMMY config MM_UBSAN_DUMMY
bool "Bypass Undefined Behaviour Sanitizer Runtime Actions" bool "Bypass Undefined Behaviour Sanitizer Runtime Actions"
default n default n
depends on MM_UBSAN
---help--- ---help---
Keep UBSAN compile time but disable runtime actions. Allow to compile with UBSAN enabled but disables runtime actions.
config MM_FILL_ALLOCATIONS endif # MM_UBSAN
bool "Fill allocations with debug value"
default n
---help---
Fill all malloc() allocations with MM_ALLOC_MAGIC.
Fill all add_addregion() with MM_INIT_MAGIC.
Fill all free() with MM_FREE_MAGIC.
This helps detecting uninitialized variable errors.
config MM_BACKTRACE
int "The depth of backtrace"
default -1
---help---
Config the depth of backtrace in memory block by specified this
config: disable backtrace by -1, only record pid info by zero and
enable record backtrace info by 8(fixed depth).
config MM_BACKTRACE_SKIP
int "The skip depth of backtrace"
depends on MM_BACKTRACE > 0
default 3
config MM_BACKTRACE_DEFAULT
bool "Enable the backtrace record by default"
default n
depends on MM_BACKTRACE > 0
config MM_DUMP_ON_FAILURE
bool "Dump heap info on allocation failure"
default n
depends on DEBUG_MM
config MM_DUMP_DETAILS_ON_FAILURE
bool "Dump all used memory blocks on allocation failure"
default n
depends on MM_DUMP_ON_FAILURE
config MM_PANIC_ON_FAILURE
bool "Panic on allocation failure"
default n
depends on DEBUG_MM
config MM_FREE_DELAYCOUNT_MAX
int "Maximum memory nodes can be delayed to free"
default 0
---help---
Set to 0 to disable the delayed free mechanism. Otherwise,
the value decides the maximum number of memory nodes that
will be delayed to free.
config MM_HEAP_BIGGEST_COUNT
int "The largest malloc element dump count"
default 30
---help---
The dump support for largest allocated memory.
If too big, should take care of stack usage.
Define 0 to disable largest allocated element dump feature.
source "mm/iob/Kconfig" source "mm/iob/Kconfig"