Lines Matching +full:in +full:- +full:memory
1 # SPDX-License-Identifier: GPL-2.0-only
3 menu "Memory Management options"
10 prompt "Memory model"
16 Linux manages its memory internally. Most users will
21 bool "Flat Memory"
24 This option is best suited for non-NUMA systems with
26 system in terms of performance and resource consumption
29 For systems that have holes in their physical address
30 spaces and for features like NUMA and memory hotplug,
31 choose "Sparse Memory".
33 If unsure, choose this option (Flat Memory) over any other.
36 bool "Sparse Memory"
40 memory hot-plug systems. This is normal.
43 holes is their physical address space and allows memory
44 hot-plug and hot-remove.
46 If unsure, choose "Flat Memory" over this option.
72 # Architecture platforms which require a two level mem_section in SPARSEMEM
84 bool "Sparse Memory virtual memmap"
99 # Don't discard allocated memory used to track "memory" and "reserved" memblocks
100 # after early boot, so it can still be used to test for validity of memory.
101 # Also, memblocks are updated with memory hot(un)plug.
105 # Keep arch NUMA mapping infrastructure post-init.
113 # Only be set on architectures that have completely implemented memory hotplug
124 bool "Allow for memory hot-add"
136 bool "Online the newly added memory blocks by default"
139 This option sets the default policy setting for memory hotplug
140 onlining policy (/sys/devices/system/memory/auto_online_blocks) which
141 determines what happens to newly added memory regions. Policy setting
143 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
145 Say Y here if you want all hot-plugged memory blocks to appear in
147 Say N here if you want the default policy to keep all hot-plugged
148 memory blocks in 'offline' state.
154 bool "Allow for memory hot remove"
164 # Heavily threaded applications may benefit from splitting the mm-wide
168 # ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock.
169 # PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes.
171 # a per-page lock leads to problems when multiple tables need to be locked
187 # support for memory balloon
192 # support for memory balloon compaction
194 bool "Allow for balloon memory compaction/migration"
198 Memory fragmentation introduced by ballooning might reduce
199 significantly the number of 2MB contiguous memory blocks that can be
202 by the guest workload. Allowing the compaction & migration for memory
203 pages enlisted as being part of memory balloon devices avoids the
204 scenario aforementioned and helps improving memory defragmentation.
207 # support for memory compaction
209 bool "Allow for memory compaction"
214 Compaction is the only memory management component to form
215 high order (larger physically contiguous) memory blocks
218 invocations for high order memory requests. You shouldn't
221 linux-mm@kvack.org.
232 memory can be freed within the host for other uses.
243 while the virtual addresses are not changed. This is useful in
274 memory available to the CPU. Enabled by default when HIGHMEM is
299 saving memory until one or another app needs to modify the content.
310 This is the portion of low virtual memory which should be protected
330 bool "Enable recovery from hardware memory errors"
334 Enables code to recover from some memory failures on systems
336 even when some of its memory has uncorrected errors. This requires
337 special hardware support and typically ECC memory.
350 of memory on which to store mappings, but it can only ask the system
351 allocator for chunks in 2^N*PAGE_SIZE amounts - which is frequently
360 long-term mappings means that the space is wasted.
370 See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
381 applications by speeding up page faults during memory
385 If memory constrained on embedded, you may want to say N.
398 memory footprint of applications without a guaranteed
407 memory footprint of applications without a guaranteed
418 Swap transparent huge pages in one piece, without splitting.
435 Cleancache can be thought of as a page-granularity victim cache
438 memory. So when the PFRA "evicts" a page, it first attempts to use
439 cleancache code to put the data contained in that page into
440 "transcendent memory", memory that is not directly accessible or
442 time-varying size. And when a cleancache-enabled
443 filesystem wishes to access a page in a file on disk, it first
446 When a transcendent memory driver is available (such as zcache or
447 Xen transcendent memory), a significant I/O reduction
449 are reduced to a single pointer-compare-against-NULL resulting
450 in a negligible performance hit.
460 "transcendent memory", memory that is not directly accessible or
462 time-varying size. When space in transcendent memory is available,
464 available, all frontswap calls are reduced to a single pointer-
465 compare-against-NULL resulting in a negligible performance hit
471 bool "Contiguous Memory Allocator"
476 This enables the Contiguous Memory Allocator which allows other
477 subsystems to allocate big physically-contiguous blocks of memory.
478 CMA reserves a region of memory and allows only movable pages to
479 be allocated from it. This way, the kernel can use the memory for
489 Turns on debug messages in CMA. This produces KERN_DEBUG
515 number of CMA area in the system.
517 If unsure, leave the default value "7" in UMA and "19" in NUMA.
520 bool "Track memory changes"
524 This option enables memory changes tracking by introducing a
525 soft-dirty bit on pte-s. This bit it set when someone writes
529 See Documentation/admin-guide/mm/soft-dirty.rst for more details.
537 pages that are in the process of being swapped out and attempts to
538 compress them into a dynamically allocated RAM-based memory pool.
539 This can result in a significant I/O reduction on swap device and,
540 in the case where decompressing from RAM is faster that swap device
544 v3.11) that interacts heavily with memory reclaim. While these
545 interactions don't cause any known issues on simple memory setups,
562 If in doubt, select 'LZO'.
667 tristate "Common API for compressed memory storage"
669 Compressed memory storage API. This allows using either zbud or
692 tristate "Memory allocator for compressed pages"
695 zsmalloc is a slab-based memory allocator designed to store
696 compressed RAM pages. zsmalloc uses virtual memory mapping
697 in order to reduce fragmentation. However, this results in a
698 non-standard allocator interface where a handle, not a pointer, is
699 returned by an alloc(). This handle must be mapped in order to
707 This option enables code in the zsmalloc to collect various
708 statistics about what's happening in zsmalloc and exports that
716 int "Default maximum user stack size for 32-bit processes (MB)"
721 This is the maximum stack size in Megabytes in the VM layout of 32-bit
734 Ordinarily all struct pages are initialised during early boot in a
737 a subset of memmap at boot and then initialise the rest in parallel.
738 This has a potential performance impact on tasks running early in the
747 bit writers can set the state of the bit in the flags so that PTE
757 be useful to tune memory cgroup limits and/or for job placement
760 See Documentation/admin-guide/mm/idle_page_tracking.rst for
782 bool "Device memory (pmem, HMM, etc...) hotplug support"
790 Device memory hotplug support allows for establishing pmem,
791 or other device driver discovered memory regions, in the
793 "device-physical" addresses which is needed for using a DAX
794 mapping in an O_DIRECT operation, among other things.
810 bool "Unaddressable device memory (GPU memory, ...)"
816 memory; i.e., memory that is only accessible from the device (or
828 bool "Collect percpu memory statistics"
832 be used to help understand percpu memory usage.
835 bool "Enable infrastructure for get_user_pages()-related unit tests"
838 Provides /sys/kernel/debug/gup_test, which in turn provides a way
839 to make ioctl calls that can launch kernel-based unit tests for
844 the non-_fast variants.
846 There is also a sub-test that allows running dump_page() on any
848 range of user-space addresses. These pages are either pinned via
861 bool "Read-only THP for filesystems (EXPERIMENTAL)"
865 Allow khugepaged to put read-only file-backed pages in THP.
868 support of file THPs will be developed in the next few release