mm: Kconfig: reorganize misplaced mm options
After commits7b42f1041c
("mm: Kconfig: move swap and slab config options to the MM section") and519bcb7979
("mm: Kconfig: group swap, slab, hotplug and thp options into submenus") we now have nicely organized mm related config options. I have noticed some that were still misplaced, so this moves them from various places into the new structure: VM_EVENT_COUNTERS, COMPAT_BRK, MMAP_ALLOW_UNINITIALIZED to mm/Kconfig and general MM section. SLUB_STATS to mm/Kconfig and the slab submenu. DEBUG_SLAB, SLUB_DEBUG, SLUB_DEBUG_ON to mm/Kconfig.debug and the Kernel hacking / Memory Debugging submenu. Link: https://lkml.kernel.org/r/20220525112559.1139-1-vbabka@suse.cz Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
fbf4df0699
commit
0710d0122a
53
init/Kconfig
53
init/Kconfig
|
@ -1828,59 +1828,6 @@ config DEBUG_PERF_USE_VMALLOC
|
|||
|
||||
endmenu
|
||||
|
||||
config VM_EVENT_COUNTERS
|
||||
default y
|
||||
bool "Enable VM event counters for /proc/vmstat" if EXPERT
|
||||
help
|
||||
VM event counters are needed for event counts to be shown.
|
||||
This option allows the disabling of the VM event counters
|
||||
on EXPERT systems. /proc/vmstat will only show page counts
|
||||
if VM event counters are disabled.
|
||||
|
||||
config SLUB_DEBUG
|
||||
default y
|
||||
bool "Enable SLUB debugging support" if EXPERT
|
||||
depends on SLUB && SYSFS
|
||||
help
|
||||
SLUB has extensive debug support features. Disabling these can
|
||||
result in significant savings in code size. This also disables
|
||||
SLUB sysfs support. /sys/slab will not exist and there will be
|
||||
no support for cache validation etc.
|
||||
|
||||
config COMPAT_BRK
|
||||
bool "Disable heap randomization"
|
||||
default y
|
||||
help
|
||||
Randomizing heap placement makes heap exploits harder, but it
|
||||
also breaks ancient binaries (including anything libc5 based).
|
||||
This option changes the bootup default to heap randomization
|
||||
disabled, and can be overridden at runtime by setting
|
||||
/proc/sys/kernel/randomize_va_space to 2.
|
||||
|
||||
On non-ancient distros (post-2000 ones) N is usually a safe choice.
|
||||
|
||||
config MMAP_ALLOW_UNINITIALIZED
|
||||
bool "Allow mmapped anonymous memory to be uninitialized"
|
||||
depends on EXPERT && !MMU
|
||||
default n
|
||||
help
|
||||
Normally, and according to the Linux spec, anonymous memory obtained
|
||||
from mmap() has its contents cleared before it is passed to
|
||||
userspace. Enabling this config option allows you to request that
|
||||
mmap() skip that if it is given an MAP_UNINITIALIZED flag, thus
|
||||
providing a huge performance boost. If this option is not enabled,
|
||||
then the flag will be ignored.
|
||||
|
||||
This is taken advantage of by uClibc's malloc(), and also by
|
||||
ELF-FDPIC binfmt's brk and stack allocator.
|
||||
|
||||
Because of the obvious security issues, this option should only be
|
||||
enabled on embedded devices where you control what is run in
|
||||
userspace. Since that isn't generally a problem on no-MMU systems,
|
||||
it is normally safe to say Y here.
|
||||
|
||||
See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
|
||||
|
||||
config SYSTEM_DATA_VERIFICATION
|
||||
def_bool n
|
||||
select SYSTEM_TRUSTED_KEYRING
|
||||
|
|
|
@ -698,40 +698,6 @@ config DEBUG_OBJECTS_ENABLE_DEFAULT
|
|||
help
|
||||
Debug objects boot parameter default value
|
||||
|
||||
config DEBUG_SLAB
|
||||
bool "Debug slab memory allocations"
|
||||
depends on DEBUG_KERNEL && SLAB
|
||||
help
|
||||
Say Y here to have the kernel do limited verification on memory
|
||||
allocation as well as poisoning memory on free to catch use of freed
|
||||
memory. This can make kmalloc/kfree-intensive workloads much slower.
|
||||
|
||||
config SLUB_DEBUG_ON
|
||||
bool "SLUB debugging on by default"
|
||||
depends on SLUB && SLUB_DEBUG
|
||||
default n
|
||||
help
|
||||
Boot with debugging on by default. SLUB boots by default with
|
||||
the runtime debug capabilities switched off. Enabling this is
|
||||
equivalent to specifying the "slub_debug" parameter on boot.
|
||||
There is no support for more fine grained debug control like
|
||||
possible with slub_debug=xxx. SLUB debugging may be switched
|
||||
off in a kernel built with CONFIG_SLUB_DEBUG_ON by specifying
|
||||
"slub_debug=-".
|
||||
|
||||
config SLUB_STATS
|
||||
default n
|
||||
bool "Enable SLUB performance statistics"
|
||||
depends on SLUB && SYSFS
|
||||
help
|
||||
SLUB statistics are useful to debug SLUBs allocation behavior in
|
||||
order find ways to optimize the allocator. This should never be
|
||||
enabled for production use since keeping statistics slows down
|
||||
the allocator by a few percentage points. The slabinfo command
|
||||
supports the determination of the most active slabs to figure
|
||||
out which slabs are relevant to a particular load.
|
||||
Try running: slabinfo -DA
|
||||
|
||||
config HAVE_DEBUG_KMEMLEAK
|
||||
bool
|
||||
|
||||
|
|
56
mm/Kconfig
56
mm/Kconfig
|
@ -270,6 +270,19 @@ config SLAB_FREELIST_HARDENED
|
|||
sanity-checking than others. This option is most effective with
|
||||
CONFIG_SLUB.
|
||||
|
||||
config SLUB_STATS
|
||||
default n
|
||||
bool "Enable SLUB performance statistics"
|
||||
depends on SLUB && SYSFS
|
||||
help
|
||||
SLUB statistics are useful to debug SLUBs allocation behavior in
|
||||
order find ways to optimize the allocator. This should never be
|
||||
enabled for production use since keeping statistics slows down
|
||||
the allocator by a few percentage points. The slabinfo command
|
||||
supports the determination of the most active slabs to figure
|
||||
out which slabs are relevant to a particular load.
|
||||
Try running: slabinfo -DA
|
||||
|
||||
config SLUB_CPU_PARTIAL
|
||||
default y
|
||||
depends on SLUB && SMP
|
||||
|
@ -307,6 +320,40 @@ config SHUFFLE_PAGE_ALLOCATOR
|
|||
|
||||
Say Y if unsure.
|
||||
|
||||
config COMPAT_BRK
|
||||
bool "Disable heap randomization"
|
||||
default y
|
||||
help
|
||||
Randomizing heap placement makes heap exploits harder, but it
|
||||
also breaks ancient binaries (including anything libc5 based).
|
||||
This option changes the bootup default to heap randomization
|
||||
disabled, and can be overridden at runtime by setting
|
||||
/proc/sys/kernel/randomize_va_space to 2.
|
||||
|
||||
On non-ancient distros (post-2000 ones) N is usually a safe choice.
|
||||
|
||||
config MMAP_ALLOW_UNINITIALIZED
|
||||
bool "Allow mmapped anonymous memory to be uninitialized"
|
||||
depends on EXPERT && !MMU
|
||||
default n
|
||||
help
|
||||
Normally, and according to the Linux spec, anonymous memory obtained
|
||||
from mmap() has its contents cleared before it is passed to
|
||||
userspace. Enabling this config option allows you to request that
|
||||
mmap() skip that if it is given an MAP_UNINITIALIZED flag, thus
|
||||
providing a huge performance boost. If this option is not enabled,
|
||||
then the flag will be ignored.
|
||||
|
||||
This is taken advantage of by uClibc's malloc(), and also by
|
||||
ELF-FDPIC binfmt's brk and stack allocator.
|
||||
|
||||
Because of the obvious security issues, this option should only be
|
||||
enabled on embedded devices where you control what is run in
|
||||
userspace. Since that isn't generally a problem on no-MMU systems,
|
||||
it is normally safe to say Y here.
|
||||
|
||||
See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
|
||||
|
||||
config SELECT_MEMORY_MODEL
|
||||
def_bool y
|
||||
depends on ARCH_SELECT_MEMORY_MODEL
|
||||
|
@ -964,6 +1011,15 @@ config ARCH_USES_HIGH_VMA_FLAGS
|
|||
config ARCH_HAS_PKEYS
|
||||
bool
|
||||
|
||||
config VM_EVENT_COUNTERS
|
||||
default y
|
||||
bool "Enable VM event counters for /proc/vmstat" if EXPERT
|
||||
help
|
||||
VM event counters are needed for event counts to be shown.
|
||||
This option allows the disabling of the VM event counters
|
||||
on EXPERT systems. /proc/vmstat will only show page counts
|
||||
if VM event counters are disabled.
|
||||
|
||||
config PERCPU_STATS
|
||||
bool "Collect percpu memory statistics"
|
||||
help
|
||||
|
|
|
@ -45,6 +45,37 @@ config DEBUG_PAGEALLOC_ENABLE_DEFAULT
|
|||
Enable debug page memory allocations by default? This value
|
||||
can be overridden by debug_pagealloc=off|on.
|
||||
|
||||
config DEBUG_SLAB
|
||||
bool "Debug slab memory allocations"
|
||||
depends on DEBUG_KERNEL && SLAB
|
||||
help
|
||||
Say Y here to have the kernel do limited verification on memory
|
||||
allocation as well as poisoning memory on free to catch use of freed
|
||||
memory. This can make kmalloc/kfree-intensive workloads much slower.
|
||||
|
||||
config SLUB_DEBUG
|
||||
default y
|
||||
bool "Enable SLUB debugging support" if EXPERT
|
||||
depends on SLUB && SYSFS
|
||||
help
|
||||
SLUB has extensive debug support features. Disabling these can
|
||||
result in significant savings in code size. This also disables
|
||||
SLUB sysfs support. /sys/slab will not exist and there will be
|
||||
no support for cache validation etc.
|
||||
|
||||
config SLUB_DEBUG_ON
|
||||
bool "SLUB debugging on by default"
|
||||
depends on SLUB && SLUB_DEBUG
|
||||
default n
|
||||
help
|
||||
Boot with debugging on by default. SLUB boots by default with
|
||||
the runtime debug capabilities switched off. Enabling this is
|
||||
equivalent to specifying the "slub_debug" parameter on boot.
|
||||
There is no support for more fine grained debug control like
|
||||
possible with slub_debug=xxx. SLUB debugging may be switched
|
||||
off in a kernel built with CONFIG_SLUB_DEBUG_ON by specifying
|
||||
"slub_debug=-".
|
||||
|
||||
config PAGE_OWNER
|
||||
bool "Track page owner"
|
||||
depends on DEBUG_KERNEL && STACKTRACE_SUPPORT
|
||||
|
|
Loading…
Reference in New Issue