Lines Matching +full:in +full:- +full:memory

1 # SPDX-License-Identifier: GPL-2.0-only
3 menu "Memory Management options"
7 # add proper SWAP support to them, in which case this can be remove.
16 bool "Support for paging of anonymous memory (swap)"
21 for so called swap devices or swap files in your kernel that are
22 used to provide more virtual memory than the actual RAM present
23 in your computer. If unsure say Y.
32 pages that are in the process of being swapped out and attempts to
33 compress them into a dynamically allocated RAM-based memory pool.
34 This can result in a significant I/O reduction on swap device and,
35 in the case where decompressing from RAM is faster than swap device
57 in zswap until the swap entry is freed.
59 This avoids having two copies of the same page in memory
60 (compressed and uncompressed) after faulting in a page from zswap.
62 swapped out again, it will be re-compressed.
65 bool "Shrink the zswap pool on memory pressure"
70 stored in the zswap pool will become available for reclaim (i.e
71 written back to the backing swap device) on memory pressure.
75 reducing the chance that cold pages will reside in the zswap pool
76 and consume memory indefinitely.
91 If in doubt, select 'LZO'.
210 zsmalloc is a slab-based memory allocator designed to store
219 This option enables code in the zsmalloc to collect various
220 statistics about what's happening in zsmalloc and exports that
225 int "Maximum number of physical pages per-zspage"
237 per zspage. This can also result in different configurations of
249 bool "Configure for minimal memory footprint"
253 Configures the slab allocator in a way to achieve minimal memory
265 For reduced kernel memory fragmentation, slab caches can be
271 can usually only damage objects in the same cache. To disable
297 The statistics are useful to debug slab allocation behavior in
303 Try running: slabinfo -DA
312 in the latency of the free. On overflow these caches will be cleared
324 vulnerable memory objects on the heap for the purpose of exploiting
325 memory vulnerabilities.
328 that effectively diverges the memory objects allocated for different
330 limited degree of memory and CPU overhead that relates to hardware and
340 utilization of a direct-mapped memory-side-cache. See section
341 5.2.27 Heterogeneous Memory Attribute Table (HMAT) in the ACPI
343 the presence of a memory-side-cache. There are also incidental
353 after runtime detection of a direct-mapped memory-side-cache.
369 On non-ancient distros (post-2000 ones) N is usually a safe choice.
372 bool "Allow mmapped anonymous memory to be uninitialized"
376 Normally, and according to the Linux spec, anonymous memory obtained
384 ELF-FDPIC binfmt's brk and stack allocator.
387 enabled on embedded devices where you control what is run in
388 userspace. Since that isn't generally a problem on no-MMU systems,
391 See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
398 prompt "Memory model"
404 Linux manages its memory internally. Most users will
409 bool "Flat Memory"
412 This option is best suited for non-NUMA systems with
414 system in terms of performance and resource consumption
417 For systems that have holes in their physical address
418 spaces and for features like NUMA and memory hotplug,
419 choose "Sparse Memory".
421 If unsure, choose this option (Flat Memory) over any other.
424 bool "Sparse Memory"
428 memory hot-plug systems. This is normal.
431 holes is their physical address space and allows memory
432 hot-plug and hot-remove.
434 If unsure, choose "Flat Memory" over this option.
460 # Architecture platforms which require a two level mem_section in SPARSEMEM
472 bool "Sparse Memory virtual memmap"
496 # Don't discard allocated memory used to track "memory" and "reserved" memblocks
497 # after early boot, so it can still be used to test for validity of memory.
498 # Also, memblocks are updated with memory hot(un)plug.
502 # Keep arch NUMA mapping infrastructure post-init.
509 # IORESOURCE_SYSTEM_RAM regions in the kernel resource tree that are marked
517 # Only be set on architectures that have completely implemented memory hotplug
531 bool "Memory hotplug"
541 bool "Online the newly added memory blocks by default"
544 This option sets the default policy setting for memory hotplug
545 onlining policy (/sys/devices/system/memory/auto_online_blocks) which
546 determines what happens to newly added memory regions. Policy setting
548 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
550 Say Y here if you want all hot-plugged memory blocks to appear in
552 Say N here if you want the default policy to keep all hot-plugged
553 memory blocks in 'offline' state.
556 bool "Allow for memory hot remove"
571 # Heavily threaded applications may benefit from splitting the mm-wide
575 # ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock.
576 # PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes.
578 # a per-page lock leads to problems when multiple tables need to be locked
594 # support for memory balloon
599 # support for memory balloon compaction
601 bool "Allow for balloon memory compaction/migration"
605 Memory fragmentation introduced by ballooning might reduce
606 significantly the number of 2MB contiguous memory blocks that can be
609 by the guest workload. Allowing the compaction & migration for memory
610 pages enlisted as being part of memory balloon devices avoids the
611 scenario aforementioned and helps improving memory defragmentation.
614 # support for memory compaction
616 bool "Allow for memory compaction"
621 Compaction is the only memory management component to form
622 high order (larger physically contiguous) memory blocks
625 invocations for high order memory requests. You shouldn't
628 linux-mm@kvack.org.
645 memory can be freed within the host for other uses.
656 while the virtual addresses are not changed. This is useful in
685 int "Maximum scale factor of PCP (Per-CPU pageset) batch allocate/free"
689 In page allocator, PCP (Per-CPU pageset) is refilled and drained in
704 memory available to the CPU. Enabled by default when HIGHMEM is
720 saving memory until one or another app needs to modify the content.
731 This is the portion of low virtual memory which should be protected
751 bool "Enable recovery from hardware memory errors"
755 Enables code to recover from some memory failures on systems
757 even when some of its memory has uncorrected errors. This requires
758 special hardware support and typically ECC memory.
771 of memory on which to store mappings, but it can only ask the system
772 allocator for chunks in 2^N*PAGE_SIZE amounts - which is frequently
781 long-term mappings means that the space is wasted.
791 See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
808 applications by speeding up page faults during memory
812 If memory constrained on embedded, you may want to say N.
827 memory footprint of applications without a guaranteed
836 memory footprint of applications without a guaranteed
850 Swap transparent huge pages in one piece, without splitting.
857 bool "Read-only THP for filesystems (EXPERIMENTAL)"
861 Allow khugepaged to put read-only file-backed pages in THP.
864 support of file THPs will be developed in the next few release
890 bool "Contiguous Memory Allocator"
895 This enables the Contiguous Memory Allocator which allows other
896 subsystems to allocate big physically-contiguous blocks of memory.
897 CMA reserves a region of memory and allows only movable pages to
898 be allocated from it. This way, the kernel can use the memory for
908 Turns on debug messages in CMA. This produces KERN_DEBUG
934 number of CMA area in the system.
936 If unsure, leave the default value "7" in UMA and "19" in NUMA.
939 bool "Track memory changes"
943 This option enables memory changes tracking by introducing a
944 soft-dirty bit on pte-s. This bit it set when someone writes
948 See Documentation/admin-guide/mm/soft-dirty.rst for more details.
954 int "Default maximum user stack size for 32-bit processes (MB)"
959 This is the maximum stack size in Megabytes in the VM layout of 32-bit
972 Ordinarily all struct pages are initialised during early boot in a
975 a subset of memmap at boot and then initialise the rest in parallel.
976 This has a potential performance impact on tasks running early in the
985 bit writers can set the state of the bit in the flags so that PTE
995 be useful to tune memory cgroup limits and/or for job placement
998 See Documentation/admin-guide/mm/idle_page_tracking.rst for
1007 In support of HARDENED_USERCOPY performing stack variable lifetime
1008 checking, an architecture-agnostic way to find the stack pointer
1029 bool "Device memory (pmem, HMM, etc...) hotplug support"
1037 Device memory hotplug support allows for establishing pmem,
1038 or other device driver discovered memory regions, in the
1040 "device-physical" addresses which is needed for using a DAX
1041 mapping in an O_DIRECT operation, among other things.
1058 bool "Unaddressable device memory (GPU memory, ...)"
1064 memory; i.e., memory that is only accessible from the device (or
1079 suitable for 64-bit architectures with CONFIG_FLATMEM or
1081 enough room for additional bits in page->flags.
1093 bool "Collect percpu memory statistics"
1097 be used to help understand percpu memory usage.
1100 bool "Enable infrastructure for get_user_pages()-related unit tests"
1103 Provides /sys/kernel/debug/gup_test, which in turn provides a way
1104 to make ioctl calls that can launch kernel-based unit tests for
1109 the non-_fast variants.
1111 There is also a sub-test that allows running dump_page() on any
1113 range of user-space addresses. These pages are either pinned via
1169 memory areas visible only in the context of the owning process and
1177 Allow naming anonymous virtual memory areas.
1179 This feature allows assigning names to virtual memory areas. Assigned
1181 and help identifying individual anonymous memory areas.
1182 Assigning a name to anonymous virtual memory area might prevent that
1183 area from being merged with adjacent virtual memory areas due to the
1184 difference in their name.
1201 handle page faults in userland.
1212 file-backed memory types like shmem and hugetlbfs.
1215 # multi-gen LRU {
1217 bool "Multi-Gen LRU"
1219 # make sure folio->flags has enough spare bits
1222 A high performance LRU implementation to overcommit memory. See
1223 Documentation/admin-guide/mm/multigen_lru.rst for details.
1229 This option enables the multi-gen LRU by default.
1238 This option has a per-memcg and per-node memory overhead.
1252 Allow per-vma locking during page fault handling.
1254 This feature allows locking each virtual memory area separately when