freebsd-nq/sys/vm
Mark Johnston a2d704d19f Avoid unnecessary object locking in vm_page_grab_pages_unlocked().
We were needlessly acquiring the object lock to call
vm_page_grab_pages() even when all of the requested pages were looked up
locklessly.  Fix that, stop testing for count == 0 in
vm_page_grab_pages(), and add assertions to help catch this kind of
mistake.

Reported by:	cem
Reviewed by:	alc, cem, dougm, jeff
Differential Revision:	https://reviews.freebsd.org/D26304
2020-09-02 19:59:25 +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 Don't hold the object lock while calling getpages. 2020-01-19 23:47:32 +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 vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +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 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 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 Use a single VM object for kernel stacks. 2020-04-26 20:08:57 +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 Include the psind in data returned by mincore(2). 2020-09-02 18:16:43 +00:00
vm_object.c vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +00:00
vm_object.h Add a blocking counter KPI. 2020-02-28 16:05:18 +00:00
vm_page.c Avoid unnecessary object locking in vm_page_grab_pages_unlocked(). 2020-09-02 19:59:25 +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 Fix OOM handling of some corner cases. 2019-08-16 09:43:49 +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 vm: clean up empty lines in .c and .h files 2020-09-01 21:20:45 +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