opnsense-src/sys/vm
Jeff Roberson 205be21d99 (3/6) Add a shared object busy synchronization mechanism that blocks new page
busy acquires while held.

This allows code that would need to acquire and release a very large number
of page busy locks to use the old mechanism where busy is only checked and
not held.  This comes at the cost of false positives but never false
negatives which the single consumer, vm_fault_soft_fast(), handles.

Reviewed by:    kib
Tested by:      pho
Sponsored by:   Netflix, Intel
Differential Revision:	https://reviews.freebsd.org/D21592
2019-10-15 03:41:36 +00:00
..
_vm_radix.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
default_pager.c SPDX: wrong license. 2017-11-30 15:45:42 +00:00
device_pager.c (2/6) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep(). 2019-10-15 03:38:02 +00:00
memguard.c Add a vm_page_wired() predicate. 2019-06-02 01:00:17 +00:00
memguard.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
phys_pager.c (1/6) Replace busy checks with acquires where it is trival to do so. 2019-10-15 03:35:11 +00:00
pmap.h correct pmap_ts_referenced return type 2019-07-03 19:59:56 +00:00
redzone.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
redzone.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
sg_pager.c Change the vm_ooffset_t type to unsigned. 2018-12-02 13:16:46 +00:00
swap_pager.c Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
swap_pager.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uma.h vfs: manage mnt_ref with atomics 2019-09-16 21:31:02 +00:00
uma_core.c Fix braino in r353429 2019-10-11 06:02:03 +00:00
uma_dbg.c Fix compilation failures on different arches that have vm_machdep.c not 2019-01-15 19:33:47 +00:00
uma_dbg.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
uma_int.h Extend uma_reclaim() to permit different reclamation targets. 2019-09-01 22:22:43 +00:00
vm.h Move vm_ndomains to vm.h where it can be used with a single header include 2018-03-27 03:27:02 +00:00
vm_domainset.c Add a !NUMA definition for vm_domainset_iter_policy_ref_init(). 2018-10-24 17:09:20 +00:00
vm_domainset.h Refactor domainset iterators for use by malloc(9) and UMA. 2018-10-23 16:35:58 +00:00
vm_extern.h Improve MD page fault handlers. 2019-09-27 18:43:36 +00:00
vm_fault.c (3/6) Add a shared object busy synchronization mechanism that blocks new page 2019-10-15 03:41:36 +00:00
vm_glue.c sys/vm/vm_glue.c: Incorrect function name in panic string 2019-09-19 07:28:24 +00:00
vm_init.c Do not reserve KVA for paging bufs in vm_ksubmap_init(), since now 2019-01-16 20:14:16 +00:00
vm_kern.c Map the vm_page array into KVA on amd64. 2019-09-03 13:18:51 +00:00
vm_kern.h Do not reserve KVA for paging bufs in vm_ksubmap_init(), since now 2019-01-16 20:14:16 +00:00
vm_map.c Correct a transcription error that broke GENERIC introduced in r353496. 2019-10-14 17:51:57 +00:00
vm_map.h Define macro VM_MAP_ENTRY_FOREACH for enumerating the entries in a vm_map. 2019-10-08 07:14:21 +00:00
vm_meter.c Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
vm_mmap.c Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
vm_object.c (3/6) Add a shared object busy synchronization mechanism that blocks new page 2019-10-15 03:41:36 +00:00
vm_object.h (3/6) Add a shared object busy synchronization mechanism that blocks new page 2019-10-15 03:41:36 +00:00
vm_page.c (3/6) Add a shared object busy synchronization mechanism that blocks new page 2019-10-15 03:41:36 +00:00
vm_page.h (3/6) Add a shared object busy synchronization mechanism that blocks new page 2019-10-15 03:41:36 +00:00
vm_pageout.c (1/6) Replace busy checks with acquires where it is trival to do so. 2019-10-15 03:35:11 +00:00
vm_pageout.h Fix OOM handling of some corner cases. 2019-08-16 09:43:49 +00:00
vm_pagequeue.h Revert r352406, which contained changes I didn't intend to commit. 2019-09-16 15:04:45 +00:00
vm_pager.c Do not reserve KVA for paging bufs in vm_ksubmap_init(), since now 2019-01-16 20:14:16 +00:00
vm_pager.h vm pager: writemapping accounting for OBJT_SWAP 2019-09-03 20:31:48 +00:00
vm_param.h Improve MD page fault handlers. 2019-09-27 18:43:36 +00:00
vm_phys.c Remove unnecessary debugging from r351181 that caused powerpc build to fail. 2019-08-18 08:07:31 +00:00
vm_phys.h Encapsulate phys_avail manipulation in a set of simple routines. Add a 2019-08-18 07:06:31 +00:00
vm_radix.c vm: stop passing M_ZERO when allocating radix nodes 2018-06-24 13:08:05 +00:00
vm_radix.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
vm_reserv.c Allocate amd64's page array using pages and page directory pages from the 2019-08-18 23:07:56 +00:00
vm_reserv.h Allocate amd64's page array using pages and page directory pages from the 2019-08-18 23:07:56 +00:00
vm_swapout.c (1/6) Replace busy checks with acquires where it is trival to do so. 2019-10-15 03:35:11 +00:00
vm_swapout_dummy.c SPDX: Consider code from Carnegie-Mellon University. 2017-11-30 15:48:35 +00:00
vm_unix.c Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
vnode_pager.c vm pager: writemapping accounting for OBJT_SWAP 2019-09-03 20:31:48 +00:00
vnode_pager.h vm pager: writemapping accounting for OBJT_SWAP 2019-09-03 20:31:48 +00:00