Kconfig (94709049fb8442fb2f7b91fbec3c2897a75e18df) | Kconfig (60bccaa671bce7ed040d9511b0738ca3b0a0e9ff) |
---|---|
1# SPDX-License-Identifier: GPL-2.0-only 2 3menu "Memory Management options" 4 5config SELECT_MEMORY_MODEL 6 def_bool y 7 depends on ARCH_SELECT_MEMORY_MODEL 8 --- 178 unchanged lines hidden (view full) --- 187 depends on MIGRATION 188 189# Heavily threaded applications may benefit from splitting the mm-wide 190# page_table_lock, so that faults on different parts of the user address 191# space can be handled with less contention: split it at this NR_CPUS. 192# Default to 4 for wider testing, though 8 might be more appropriate. 193# ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock. 194# PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes. | 1# SPDX-License-Identifier: GPL-2.0-only 2 3menu "Memory Management options" 4 5config SELECT_MEMORY_MODEL 6 def_bool y 7 depends on ARCH_SELECT_MEMORY_MODEL 8 --- 178 unchanged lines hidden (view full) --- 187 depends on MIGRATION 188 189# Heavily threaded applications may benefit from splitting the mm-wide 190# page_table_lock, so that faults on different parts of the user address 191# space can be handled with less contention: split it at this NR_CPUS. 192# Default to 4 for wider testing, though 8 might be more appropriate. 193# ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock. 194# PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes. |
195# SPARC32 allocates multiple pte tables within a single page, and therefore 196# a per-page lock leads to problems when multiple tables need to be locked 197# at the same time (e.g. copy_page_range()). |
|
195# DEBUG_SPINLOCK and DEBUG_LOCK_ALLOC spinlock_t also enlarge struct page. 196# 197config SPLIT_PTLOCK_CPUS 198 int 199 default "999999" if !MMU 200 default "999999" if ARM && !CPU_CACHE_VIPT 201 default "999999" if PARISC && !PA20 | 198# DEBUG_SPINLOCK and DEBUG_LOCK_ALLOC spinlock_t also enlarge struct page. 199# 200config SPLIT_PTLOCK_CPUS 201 int 202 default "999999" if !MMU 203 default "999999" if ARM && !CPU_CACHE_VIPT 204 default "999999" if PARISC && !PA20 |
205 default "999999" if SPARC32 |
|
202 default "4" 203 204config ARCH_ENABLE_SPLIT_PMD_PTLOCK 205 bool 206 207# 208# support for memory balloon 209config MEMORY_BALLOON --- 490 unchanged lines hidden (view full) --- 700 help 701 zsmalloc is a slab-based memory allocator designed to store 702 compressed RAM pages. zsmalloc uses virtual memory mapping 703 in order to reduce fragmentation. However, this results in a 704 non-standard allocator interface where a handle, not a pointer, is 705 returned by an alloc(). This handle must be mapped in order to 706 access the allocated space. 707 | 206 default "4" 207 208config ARCH_ENABLE_SPLIT_PMD_PTLOCK 209 bool 210 211# 212# support for memory balloon 213config MEMORY_BALLOON --- 490 unchanged lines hidden (view full) --- 704 help 705 zsmalloc is a slab-based memory allocator designed to store 706 compressed RAM pages. zsmalloc uses virtual memory mapping 707 in order to reduce fragmentation. However, this results in a 708 non-standard allocator interface where a handle, not a pointer, is 709 returned by an alloc(). This handle must be mapped in order to 710 access the allocated space. 711 |
708config ZSMALLOC_PGTABLE_MAPPING | 712config PGTABLE_MAPPING |
709 bool "Use page table mapping to access object in zsmalloc" | 713 bool "Use page table mapping to access object in zsmalloc" |
710 depends on ZSMALLOC=y | 714 depends on ZSMALLOC |
711 help 712 By default, zsmalloc uses a copy-based object mapping method to 713 access allocations that span two pages. However, if a particular 714 architecture (ex, ARM) performs VM mapping faster than copying, 715 then you should select this. This causes zsmalloc to use page table 716 mapping rather than copying for object mapping. 717 718 You can check speed with zsmalloc benchmark: --- 152 unchanged lines hidden --- | 715 help 716 By default, zsmalloc uses a copy-based object mapping method to 717 access allocations that span two pages. However, if a particular 718 architecture (ex, ARM) performs VM mapping faster than copying, 719 then you should select this. This causes zsmalloc to use page table 720 mapping rather than copying for object mapping. 721 722 You can check speed with zsmalloc benchmark: --- 152 unchanged lines hidden --- |