freebsd-nq/sys/vm
Bosko Milekic cc822cb53e Make uma_mtx MTX_RECURSE. Here's why:
The general UMA lock is a recursion-allowed lock because
there is a code path where, while we're still configured
to use startup_alloc() for backend page allocations, we
may end up in uma_reclaim() which calls zone_foreach(zone_drain),
which grabs uma_mtx, only to later call into startup_alloc()
because while freeing we needed to allocate a bucket.  Since
startup_alloc() also takes uma_mtx, we need to be able to
recurse on it.

This exact explanation also added as comment above mtx_init().

Trace showing recursion reported by: Peter Holm <peter-at-holm.cc>
2004-06-23 21:59:03 +00:00
..
default_pager.c Access the swap_pagers' ->putpages() through swappagerops instead 2003-08-06 12:05:48 +00:00
device_pager.c Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
phys_pager.c Zero the physical page only if it is invalid and not prezeroed. 2004-04-25 07:58:59 +00:00
pmap.h - pmap_kenter_temporary() is unused by machine-independent code. Therefore, 2004-04-10 22:41:46 +00:00
swap_pager.c In swap_pager_getpages(), bp->b_dev can be NULL, particularly for the 2004-06-23 15:15:07 +00:00
swap_pager.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
uma_core.c Make uma_mtx MTX_RECURSE. Here's why: 2004-06-23 21:59:03 +00:00
uma_dbg.c Bring in mbuma to replace mballoc. 2004-05-31 21:46:06 +00:00
uma_dbg.h
uma_int.h Bring in mbuma to replace mballoc. 2004-05-31 21:46:06 +00:00
uma.h Fix a comment above uma_zsecond_create(), describing its arguments. 2004-06-01 01:36:26 +00:00
vm_contig.c Make contigmalloc() more reliable: 2004-06-15 01:02:00 +00:00
vm_extern.h To date, unwiring a fictitious page has produced a panic. The reason 2004-05-22 04:53:51 +00:00
vm_fault.c To date, unwiring a fictitious page has produced a panic. The reason 2004-05-22 04:53:51 +00:00
vm_glue.c Nice, is a property of a process as a whole.. 2004-06-16 00:26:31 +00:00
vm_init.c The demise of vm_pager_map_page() in revision 1.93 of vm/vm_pager.c permits 2004-04-08 19:08:49 +00:00
vm_kern.c Bring in mbuma to replace mballoc. 2004-05-31 21:46:06 +00:00
vm_kern.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vm_map.c Back out previous commit; it went to the wrong file. 2004-05-25 18:28:52 +00:00
vm_map.h In cases where a file was resident in memory mmap(..., PROT_NONE, ...) 2004-04-24 03:46:44 +00:00
vm_meter.c Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vm_mmap.c Deorbit COMPAT_SUNOS. 2004-06-11 11:16:26 +00:00
vm_object.c MFS: vm_map.c rev 1.187.2.27 through 1.187.2.29, fix MS_INVALIDATE 2004-05-25 18:40:53 +00:00
vm_object.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vm_page.c Remove spl() calls. Update comments to reflect the removal of spl() calls. 2004-06-19 04:19:47 +00:00
vm_page.h Update stale comments regarding page coloring. 2004-06-05 21:06:42 +00:00
vm_pageout.c Nice, is a property of a process as a whole.. 2004-06-16 00:26:31 +00:00
vm_pageout.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vm_pageq.c Remove references to L1 in the comments, according to Alan they are 2004-06-07 19:33:05 +00:00
vm_pager.c The demise of vm_pager_map_page() in revision 1.93 of vm/vm_pager.c permits 2004-04-08 19:08:49 +00:00
vm_pager.h The demise of vm_pager_map_page() in revision 1.93 of vm/vm_pager.c permits 2004-04-08 19:08:49 +00:00
vm_param.h Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
vm_unix.c Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vm_zeroidle.c Record exactly where this file was copied from. It wasn't repo-copied so 2004-03-04 10:18:17 +00:00
vm.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00
vnode_pager.c Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
vnode_pager.h Remove advertising clause from University of California Regent's license, 2004-04-06 20:15:37 +00:00