freebsd-nq/sys/vm
Alan Cox ba67369628 Recursion on the free page queue mutex occurred when UMA needed to allocate
a new page of radix trie nodes to complete a vm_radix_insert() operation
that was requested by vm_page_cache().  Specifically, vm_page_cache()
already held the free page queue lock when UMA tried to acquire it through
a call to vm_page_alloc().  This code path no longer exists, so there is no
longer any reason to allow recursion on the free page queue mutex.

Improve nearby comments.

Reviewed by:	kib, markj
Tested by:	pho
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D8628
2016-11-27 01:42:53 +00:00
..
_vm_radix.h
default_pager.c A change to KPI of vm_pager_get_pages() and underlying VOP_GETPAGES(). 2015-12-16 21:30:45 +00:00
device_pager.c Split long line instead of unindenting it. Add KASSERT() verifying 2016-10-30 18:04:11 +00:00
memguard.c Include sys/_task.h into uma_int.h, so that taskqueue.h isn't a 2016-02-09 20:22:35 +00:00
memguard.h
phys_pager.c sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
pmap.h Various changes to pmap_ts_referenced() 2016-09-10 16:49:25 +00:00
redzone.c
redzone.h
sg_pager.c Plug a vm_page leak introduced in r292373. 2016-02-05 19:35:53 +00:00
swap_pager.c Remove PG_CACHED-related fields from struct vmmeter, because they are no 2016-11-22 18:13:46 +00:00
swap_pager.h
uma_core.c Simplify keg_drain() a bit by using LIST_FOREACH_SAFE. 2016-10-20 23:10:27 +00:00
uma_dbg.c Fix memguard(9) in kernels with INVARIANTS enabled. 2016-06-01 22:31:35 +00:00
uma_dbg.h Move uma_dbg_alloc() and uma_dbg_free() into uma_core.c, which allows 2016-02-03 22:02:36 +00:00
uma_int.h Autotune the number of pages set aside for UMA startup based on the number 2016-07-07 18:37:12 +00:00
uma.h Replace a number of conflations of mp_ncpus and mp_maxid with either 2016-07-06 14:09:49 +00:00
vm_domain.c Move vm_domain_rr_selectdomain() under #ifdef VM_NUMA_ALLOC. 2016-05-10 22:25:55 +00:00
vm_domain.h Add an initial NUMA affinity/policy configuration for threads and processes. 2015-07-11 15:21:37 +00:00
vm_extern.h Various cleanups to the main function for AIO kernel processes: 2016-01-19 21:37:51 +00:00
vm_fault.c Move the fast fault path into the separate function. 2016-11-16 16:34:17 +00:00
vm_glue.c Eliminate unneeded vm_page_xbusy() and vm_page_xunbusy() operations when 2016-08-14 22:00:45 +00:00
vm_init.c Conditionally move initial vfs bio alloc above 4G 2016-10-03 13:23:43 +00:00
vm_kern.c Introduce a new mechanism for relocating virtual pages to a new physical 2015-12-19 18:42:50 +00:00
vm_kern.h
vm_map.c Change the type of the map entry's next_read field from a vm_pindex_t to a 2016-07-07 20:58:16 +00:00
vm_map.h Change the type of the map entry's next_read field from a vm_pindex_t to a 2016-07-07 20:58:16 +00:00
vm_meter.c Remove PG_CACHED-related fields from struct vmmeter, because they are no 2016-11-22 18:13:46 +00:00
vm_mmap.c Remove most of the code for implementing PG_CACHED pages. (This change does 2016-11-15 18:22:50 +00:00
vm_object.c Remove most of the code for implementing PG_CACHED pages. (This change does 2016-11-15 18:22:50 +00:00
vm_object.h Remove most of the code for implementing PG_CACHED pages. (This change does 2016-11-15 18:22:50 +00:00
vm_page.c Recursion on the free page queue mutex occurred when UMA needed to allocate 2016-11-27 01:42:53 +00:00
vm_page.h Remove most of the code for implementing PG_CACHED pages. (This change does 2016-11-15 18:22:50 +00:00
vm_pageout.c Release laundered vnode pages to the head of the inactive queue. 2016-11-23 17:53:07 +00:00
vm_pageout.h The flag "vm_pages_needed" has long served two distinct purposes: (1) to 2016-05-27 19:15:45 +00:00
vm_pager.c Add BUF_TRACKING and FULL_BUF_TRACKING buffer debugging 2016-10-31 23:09:52 +00:00
vm_pager.h Release laundered vnode pages to the head of the inactive queue. 2016-11-23 17:53:07 +00:00
vm_param.h Remove the v_cache_min and v_cache_max sysctls. They are unused and have 2015-09-11 03:00:20 +00:00
vm_phys.c Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
vm_phys.h Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
vm_radix.c Cleanup redundant parenthesis from existing howmany()/roundup() macro uses. 2016-04-22 16:57:42 +00:00
vm_radix.h
vm_reserv.c Remove most of the code for implementing PG_CACHED pages. (This change does 2016-11-15 18:22:50 +00:00
vm_reserv.h Remove most of the code for implementing PG_CACHED pages. (This change does 2016-11-15 18:22:50 +00:00
vm_unix.c Implement lockless resource limits. 2015-06-10 10:48:12 +00:00
vm.h Add new bus methods for mapping resources. 2016-05-20 17:57:47 +00:00
vnode_pager.c Release laundered vnode pages to the head of the inactive queue. 2016-11-23 17:53:07 +00:00
vnode_pager.h A change to KPI of vm_pager_get_pages() and underlying VOP_GETPAGES(). 2015-12-16 21:30:45 +00:00