freebsd-dev/sys/vm
Doug Moore fa8a6585c7 vm_phys: avoid waste in multipage allocation
In vm_phys_alloc_contig, for an allocation bigger than the size of any
buddy queue free block, avoid examining any maximum-size free block
more than twice, by only starting to consider a sequence of adjacent
max-blocks starting at a max-block that does not follow another
max-block.  If that first max-block follows adjacent blocks of smaller
size, and if together they provide enough memory to reduce by one the
number of max-blocks required for this allocation, use them as part of
this allocation.

Reviewed by:	markj
Tested by:	pho
Discussed with:	alc
Differential Revision:	https://reviews.freebsd.org/D34815
2022-04-26 02:56:23 -05:00
..
_vm_phys.h
_vm_radix.h
default_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
device_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
memguard.c memguard(9): Fix two typos in source code comments 2022-04-02 13:51:27 +02:00
memguard.h
phys_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
pmap.h
redzone.c redzone: Raise a compile error if KASAN is configured 2021-07-23 10:47:13 -04:00
redzone.h
sg_pager.c vm_object_kvme_type(): reimplement by embedding kvme_type into pagerops 2021-05-13 20:10:35 +03:00
swap_pager.c vm: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:20 -07:00
swap_pager.h swapoff: add one more variant of the syscall 2021-12-09 02:48:46 +02:00
uma_core.c uma_zfree_smr: uz_flags is only used if NUMA is defined. 2022-04-08 17:25:13 -07:00
uma_dbg.c
uma_dbg.h
uma_int.h Improve UMA cache reclamation. 2021-05-02 19:45:23 -04:00
uma.h uma: Add UMA_ZONE_UNMANAGED 2022-02-15 09:25:34 -05:00
vm_domainset.c
vm_domainset.h
vm_dumpset.h minidump: Use the provided dump bitset 2021-11-19 15:05:52 -04:00
vm_extern.h vm/vm_extern.h, vm/vm_page.h: use sys/kassert.h 2022-02-01 05:55:35 +02:00
vm_fault.c vm_fault_dontneed: Inline value of variable used once in an assertion. 2022-04-13 16:08:19 -07:00
vm_glue.c Remove special kstack allocation code for mips. 2022-01-06 04:43:56 +02:00
vm_init.c vm: Initialize the transient buffer mapping arena with M_WAITOK 2022-04-14 15:46:14 -04:00
vm_kern.c vm_page: Handle VM_ALLOC_NORECLAIM in the contiguous page allocator 2021-11-11 14:26:41 -05:00
vm_kern.h
vm_map.c vm: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:20 -07:00
vm_map.h exec: Reimplement stack address randomization 2022-01-17 16:12:36 -05:00
vm_meter.c vmmeter(): Fix detection of the named swap objects 2022-02-02 11:39:58 +02:00
vm_mmap.c syscallarg_t: Add a type for system call arguments 2022-03-28 19:43:03 +01:00
vm_object.c vm_object: restore handling of shadow_count for all type of objects 2022-02-02 11:39:51 +02:00
vm_object.h vm_object: Make is_object_active() global 2021-12-19 16:11:44 -08:00
vm_page.c vm: Move the "vm_wait in early boot" assertion to the proper place 2022-04-14 15:45:54 -04:00
vm_page.h vm/vm_extern.h, vm/vm_page.h: use sys/kassert.h 2022-02-01 05:55:35 +02:00
vm_pageout.c Revert "vm_pageout_scans: correct detection of active object" 2022-02-10 16:55:10 +02:00
vm_pageout.h
vm_pagequeue.h
vm_pager.c pbuf_ctor(): lock the buffer with LK_NOWAIT 2022-02-07 10:05:20 -09:00
vm_pager.h vm/vm_pager.h: use sys/systm.h header 2022-02-01 05:55:35 +02:00
vm_param.h
vm_phys.c vm_phys: avoid waste in multipage allocation 2022-04-26 02:56:23 -05:00
vm_phys.h vm_phys: hide vm_phys_set_pool 2021-12-29 11:17:33 -06:00
vm_radix.c
vm_radix.h
vm_reserv.c vm_reserv: use enhanced bitstring for popmaps 2022-01-12 11:03:53 -06:00
vm_reserv.h vm: alloc pages from reserv before breaking it 2021-12-24 12:59:16 -06:00
vm_swapout_dummy.c
vm_swapout.c vm: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:20 -07:00
vm_unix.c
vm.h tmpfs: dynamically register tmpfs pager 2021-05-13 20:13:34 +03:00
vnode_pager.c vm: Use __diagused for variables only used in KASSERT(). 2022-04-13 16:08:20 -07:00
vnode_pager.h