freebsd-dev/sys/vm
Konstantin Belousov a720b31c2a Allow consumer to customize physical pager.
Add support for user-supplied callbacks into phys pager operations,
providing custom getpages(), haspage(), and populate() methods
implementations.  Pager stores user data ptr/val in the object to
provide context.

Add phys_pager_allocate() helper that takes user ops table as one of
the arguments.

Current code for these methods is moved to the 'default' ops table,
assigned automatically when vm_pager_alloc() is used.

Reviewed by:	markj
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D24652
2020-09-09 00:00:43 +00:00
..
_vm_radix.h
default_pager.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
device_pager.c Don't hold the object lock while calling getpages. 2020-01-19 23:47:32 +00:00
memguard.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
memguard.h LinuxKPI: Implement ksize() function. 2020-08-29 19:26:31 +00:00
phys_pager.c Allow consumer to customize physical pager. 2020-09-09 00:00:43 +00:00
pmap.h Remove page locking from pmap_mincore(). 2019-10-16 22:03:27 +00:00
redzone.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
redzone.h
sg_pager.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
swap_pager.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
swap_pager.h Remove swblk_t. 2020-02-17 15:11:07 +00:00
uma_core.c Add interruptible variant of vm_wait(9), vm_wait_intr(9). 2020-09-08 23:28:09 +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
uma_int.h vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
uma.h vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vm_domainset.c Add interruptible variant of vm_wait(9), vm_wait_intr(9). 2020-09-08 23:28:09 +00:00
vm_domainset.h Add interruptible variant of vm_wait(9), vm_wait_intr(9). 2020-09-08 23:28:09 +00:00
vm_extern.h Remove the VM map zone. 2020-08-17 13:02:01 +00:00
vm_fault.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vm_glue.c Add interruptible variant of vm_wait(9), vm_wait_intr(9). 2020-09-08 23:28:09 +00:00
vm_init.c Remove the VM map zone. 2020-08-17 13:02:01 +00:00
vm_kern.c Use a large kmem arena import size on NUMA systems. 2020-08-26 14:31:48 +00:00
vm_kern.h Remove the VM map zone. 2020-08-17 13:02:01 +00:00
vm_map.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vm_map.h Remove the VM map zone. 2020-08-17 13:02:01 +00:00
vm_meter.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vm_mmap.c Add kern_mmap_racct_check(), a helper to verify limits in vm_mmap*(). 2020-09-08 23:48:19 +00:00
vm_object.c Allow consumer to customize physical pager. 2020-09-09 00:00:43 +00:00
vm_object.h Allow consumer to customize physical pager. 2020-09-09 00:00:43 +00:00
vm_page.c Add interruptible variant of vm_wait(9), vm_wait_intr(9). 2020-09-08 23:28:09 +00:00
vm_page.h Add support for multithreading the inactive queue pageout within a domain. 2020-08-11 20:37:45 +00:00
vm_pageout.c vm_pageout_scan_active: ensure ps_delta is initialized 2020-08-28 19:59:02 +00:00
vm_pageout.h Add interruptible variant of vm_wait(9), vm_wait_intr(9). 2020-09-08 23:28:09 +00:00
vm_pagequeue.h Add support for multithreading the inactive queue pageout within a domain. 2020-08-11 20:37:45 +00:00
vm_pager.c sys/vm: quiet -Wwrite-strings 2020-02-23 03:32:04 +00:00
vm_pager.h Allow consumer to customize physical pager. 2020-09-09 00:00:43 +00:00
vm_param.h (fault 3/9) Move map relookup into a dedicated function. 2020-01-23 05:07:01 +00:00
vm_phys.c Fix boot on systems where NUMA domain 0 is unpopulated. 2020-05-28 19:41:00 +00:00
vm_phys.h vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vm_radix.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vm_radix.h Use SMR to provide a safe unlocked lookup for vm_radix. 2020-02-19 19:58:31 +00:00
vm_reserv.c Use COUNTER_U64_DEFINE_EARLY() in places where it simplifies things. 2020-03-06 19:10:00 +00:00
vm_reserv.h Fix locking in vm_reserv_reclaim_contig(). 2019-11-22 16:28:52 +00:00
vm_swapout_dummy.c
vm_swapout.c Use a single VM object for kernel stacks. 2020-04-26 20:08:57 +00:00
vm_unix.c Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
vm.h vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vnode_pager.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vnode_pager.h vm pager: writemapping accounting for OBJT_SWAP 2019-09-03 20:31:48 +00:00