• Home
  • Raw
  • Download

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
67 in zswap until the swap entry is freed.
69 This avoids having two copies of the same page in memory
70 (compressed and uncompressed) after faulting in a page from zswap.
72 swapped out again, it will be re-compressed.
87 If in doubt, select 'LZO'.
166 Deprecated and scheduled for removal in a few cycles,
198 Deprecated and scheduled for removal in a few cycles. If you have
200 linux-mm@kvack.org and the zswap maintainers.
218 zsmalloc is a slab-based memory allocator designed to store
227 This option enables code in the zsmalloc to collect various
228 statistics about what's happening in zsmalloc and exports that
233 int "Maximum number of physical pages per-zspage"
245 per zspage. This can also result in different configurations of
263 Deprecated and scheduled for removal in a few cycles. Replaced by
266 If you cannot migrate to SLUB, please contact linux-mm@kvack.org
267 and the people listed in the SLAB ALLOCATOR section of MAINTAINERS
271 well in all environments. It organizes cache hot objects in
280 of queues of objects. SLUB can use memory efficiently
292 bool "Configure SLUB for minimal memory footprint"
296 Configures the SLUB allocator in a way to achieve minimal memory
309 For reduced kernel memory fragmentation, slab caches can be
315 can usually only damage objects in the same cache. To disable
335 sanity-checking than others. This option is most effective with
343 SLUB statistics are useful to debug SLUBs allocation behavior in
349 Try running: slabinfo -DA
358 in the latency of the free. On overflow these caches will be cleared
370 vulnerable memory objects on the heap for the purpose of exploiting
371 memory vulnerabilities.
374 that effectively diverges the memory objects allocated for different
376 limited degree of memory and CPU overhead that relates to hardware and
386 utilization of a direct-mapped memory-side-cache. See section
387 5.2.27 Heterogeneous Memory Attribute Table (HMAT) in the ACPI
389 the presence of a memory-side-cache. There are also incidental
399 after runtime detection of a direct-mapped memory-side-cache.
415 On non-ancient distros (post-2000 ones) N is usually a safe choice.
418 bool "Allow mmapped anonymous memory to be uninitialized"
422 Normally, and according to the Linux spec, anonymous memory obtained
430 ELF-FDPIC binfmt's brk and stack allocator.
433 enabled on embedded devices where you control what is run in
434 userspace. Since that isn't generally a problem on no-MMU systems,
437 See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
444 prompt "Memory model"
450 Linux manages its memory internally. Most users will
455 bool "Flat Memory"
458 This option is best suited for non-NUMA systems with
460 system in terms of performance and resource consumption
463 For systems that have holes in their physical address
464 spaces and for features like NUMA and memory hotplug,
465 choose "Sparse Memory".
467 If unsure, choose this option (Flat Memory) over any other.
470 bool "Sparse Memory"
474 memory hot-plug systems. This is normal.
477 holes is their physical address space and allows memory
478 hot-plug and hot-remove.
480 If unsure, choose "Flat Memory" over this option.
489 MEMORY_MONITOR is a monitor of some memory reclaim method.
498 File-LRU is a mechanism that put file page in global lru list,
499 and anon page in memcg lru list(if MEMCG is enable), what's
503 bool "Enable Memcg Management in HyperHold"
506 Add more attributes in memory cgroup, these attribute is used
507 to show information, shrink memory, swapin page and so on.
510 bool "Enable zswapd thread to reclaim anon pages in background"
514 zswapd is a kernel thread that reclaim anonymous pages in the
520 bool "Memory reclaim delay accounting"
523 Memory reclaim delay accounting. Never use it as a kernel module.
547 # Architecture platforms which require a two level mem_section in SPARSEMEM
559 bool "Sparse Memory virtual memmap"
583 # Don't discard allocated memory used to track "memory" and "reserved" memblocks
584 # after early boot, so it can still be used to test for validity of memory.
585 # Also, memblocks are updated with memory hot(un)plug.
589 # Keep arch NUMA mapping infrastructure post-init.
596 # IORESOURCE_SYSTEM_RAM regions in the kernel resource tree that are marked
604 # Only be set on architectures that have completely implemented memory hotplug
618 bool "Memory hotplug"
628 bool "Online the newly added memory blocks by default"
631 This option sets the default policy setting for memory hotplug
632 onlining policy (/sys/devices/system/memory/auto_online_blocks) which
633 determines what happens to newly added memory regions. Policy setting
635 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
637 Say Y here if you want all hot-plugged memory blocks to appear in
639 Say N here if you want the default policy to keep all hot-plugged
640 memory blocks in 'offline' state.
643 bool "Allow for memory hot remove"
658 # Heavily threaded applications may benefit from splitting the mm-wide
662 # ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock.
663 # PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes.
665 # a per-page lock leads to problems when multiple tables need to be locked
681 # support for memory balloon
686 # support for memory balloon compaction
688 bool "Allow for balloon memory compaction/migration"
692 Memory fragmentation introduced by ballooning might reduce
693 significantly the number of 2MB contiguous memory blocks that can be
696 by the guest workload. Allowing the compaction & migration for memory
697 pages enlisted as being part of memory balloon devices avoids the
698 scenario aforementioned and helps improving memory defragmentation.
701 # support for memory compaction
703 bool "Allow for memory compaction"
708 Compaction is the only memory management component to form
709 high order (larger physically contiguous) memory blocks
712 invocations for high order memory requests. You shouldn't
715 linux-mm@kvack.org.
732 memory can be freed within the host for other uses.
743 while the virtual addresses are not changed. This is useful in
772 int "Maximum scale factor of PCP (Per-CPU pageset) batch allocate/free"
776 In page allocator, PCP (Per-CPU pageset) is refilled and drained in
791 memory available to the CPU. Enabled by default when HIGHMEM is
807 saving memory until one or another app needs to modify the content.
818 This is the portion of low virtual memory which should be protected
838 bool "Enable recovery from hardware memory errors"
842 Enables code to recover from some memory failures on systems
844 even when some of its memory has uncorrected errors. This requires
845 special hardware support and typically ECC memory.
858 of memory on which to store mappings, but it can only ask the system
859 allocator for chunks in 2^N*PAGE_SIZE amounts - which is frequently
868 long-term mappings means that the space is wasted.
878 See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
895 applications by speeding up page faults during memory
899 If memory constrained on embedded, you may want to say N.
914 memory footprint of applications without a guaranteed
923 memory footprint of applications without a guaranteed
931 Swap transparent huge pages in one piece, without splitting.
938 bool "Read-only THP for filesystems (EXPERIMENTAL)"
942 Allow khugepaged to put read-only file-backed pages in THP.
945 support of file THPs will be developed in the next few release
971 bool "Contiguous Memory Allocator"
976 This enables the Contiguous Memory Allocator which allows other
977 subsystems to allocate big physically-contiguous blocks of memory.
978 CMA reserves a region of memory and allows only movable pages to
979 be allocated from it. This way, the kernel can use the memory for
989 Turns on debug messages in CMA. This produces KERN_DEBUG
1015 number of CMA area in the system.
1017 If unsure, leave the default value "7" in UMA and "19" in NUMA.
1020 bool "Track memory changes"
1024 This option enables memory changes tracking by introducing a
1025 soft-dirty bit on pte-s. This bit it set when someone writes
1029 See Documentation/admin-guide/mm/soft-dirty.rst for more details.
1035 int "Default maximum user stack size for 32-bit processes (MB)"
1040 This is the maximum stack size in Megabytes in the VM layout of 32-bit
1053 Ordinarily all struct pages are initialised during early boot in a
1056 a subset of memmap at boot and then initialise the rest in parallel.
1057 This has a potential performance impact on tasks running early in the
1066 bit writers can set the state of the bit in the flags so that PTE
1076 be useful to tune memory cgroup limits and/or for job placement
1079 See Documentation/admin-guide/mm/idle_page_tracking.rst for
1088 In support of HARDENED_USERCOPY performing stack variable lifetime
1089 checking, an architecture-agnostic way to find the stack pointer
1110 bool "Device memory (pmem, HMM, etc...) hotplug support"
1118 Device memory hotplug support allows for establishing pmem,
1119 or other device driver discovered memory regions, in the
1121 "device-physical" addresses which is needed for using a DAX
1122 mapping in an O_DIRECT operation, among other things.
1139 bool "Unaddressable device memory (GPU memory, ...)"
1145 memory; i.e., memory that is only accessible from the device (or
1160 suitable for 64-bit architectures with CONFIG_FLATMEM or
1162 enough room for additional bits in page->flags.
1174 bool "Collect percpu memory statistics"
1178 be used to help understand percpu memory usage.
1181 bool "Enable infrastructure for get_user_pages()-related unit tests"
1184 Provides /sys/kernel/debug/gup_test, which in turn provides a way
1185 to make ioctl calls that can launch kernel-based unit tests for
1190 the non-_fast variants.
1192 There is also a sub-test that allows running dump_page() on any
1194 range of user-space addresses. These pages are either pinned via
1250 memory areas visible only in the context of the owning process and
1258 Allow naming anonymous virtual memory areas.
1260 This feature allows assigning names to virtual memory areas. Assigned
1262 and help identifying individual anonymous memory areas.
1263 Assigning a name to anonymous virtual memory area might prevent that
1264 area from being merged with adjacent virtual memory areas due to the
1265 difference in their name.
1272 handle page faults in userland.
1292 file-backed memory types like shmem and hugetlbfs.
1294 # multi-gen LRU {
1296 bool "Multi-Gen LRU"
1298 # make sure folio->flags has enough spare bits
1301 A high performance LRU implementation to overcommit memory. See
1302 Documentation/admin-guide/mm/multigen_lru.rst for details.
1308 This option enables the multi-gen LRU by default.
1317 This option has a per-memcg and per-node memory overhead.
1327 Allow per-vma locking during page fault handling.
1329 This feature allows locking each virtual memory area separately when
1338 bool "Purgeable memory feature"
1346 bool "Purgeable memory debug"
1350 Debug info for purgeable memory
1353 bool "Purgeable memory feature for ashmem"