freebsd-skq/sys/vm
Mark Johnston 98549e2dc6 Centralize the logic in vfs_vmio_unwire() and sendfile_free_page().
Both of these functions atomically unwire a page, optionally attempt
to free the page, and enqueue or requeue the page.  Add functions
vm_page_release() and vm_page_release_locked() to perform the same task.
The latter must be called with the page's object lock held.

As a side effect of this refactoring, the buffer cache will no longer
attempt to free mapped pages when completing direct I/O.  This is
consistent with the handling of pages by sendfile(SF_NOCACHE).

Reviewed by:	alc, kib
MFC after:	2 weeks
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D20986
2019-07-29 22:01:28 +00:00
..
_vm_radix.h
default_pager.c
device_pager.c
memguard.c
memguard.h
phys_pager.c
pmap.h correct pmap_ts_referenced return type 2019-07-03 19:59:56 +00:00
redzone.c
redzone.h
sg_pager.c
swap_pager.c In swap_pager_putpages, move the initialization of a free-blocks 2019-07-28 19:32:23 +00:00
swap_pager.h
uma_core.c
uma_dbg.c
uma_dbg.h
uma_int.h
uma.h
vm_domainset.c
vm_domainset.h
vm_extern.h
vm_fault.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
vm_glue.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
vm_init.c
vm_kern.c
vm_kern.h
vm_map.c Define vm_map_entry_in_transition to handle an in-transition map 2019-07-19 20:47:35 +00:00
vm_map.h
vm_meter.c
vm_mmap.c Control implicit PROT_MAX() using procctl(2) and the FreeBSD note 2019-07-02 19:07:17 +00:00
vm_object.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
vm_object.h
vm_page.c Centralize the logic in vfs_vmio_unwire() and sendfile_free_page(). 2019-07-29 22:01:28 +00:00
vm_page.h Centralize the logic in vfs_vmio_unwire() and sendfile_free_page(). 2019-07-29 22:01:28 +00:00
vm_pageout.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
vm_pageout.h
vm_pagequeue.h Add a per-CPU page cache per VM free pool. 2019-07-08 18:56:30 +00:00
vm_pager.c
vm_pager.h
vm_param.h
vm_phys.c
vm_phys.h
vm_radix.c
vm_radix.h
vm_reserv.c
vm_reserv.h
vm_swapout_dummy.c
vm_swapout.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
vm_unix.c
vm.h
vnode_pager.c Fix style(9) violations involving division by PAGE_SIZE. 2019-07-06 15:55:16 +00:00
vnode_pager.h