freebsd-skq/sys/vm
Will Andrews 8311a2b8a4 Add vm.panic_on_oom sysctl, which enables those who would rather panic than
kill a process, when the system runs out of memory.  Defaults to off.

Usually, this is most useful when the OOM condition is due to mismanagement
of memory, on a system where the applications in question don't respond well
to being killed.

In theory, if the system is properly managed, it shouldn't be possible to
hit this condition. If it does, the panic can be more desirable for some
users (since it can be a good means of finding the root cause) rather than
killing the largest process and continuing on its merry way.

As kib@ mentions in the differential, there is also protect(1), which uses
procctl(PROC_SPROTECT) to ensure that some processes are immune.  However,
a panic approach is still useful in some environments.  This is primarily
intended as a development/debugging tool.

Differential Revision:	D1627
Reviewed by:		kib
MFC after:		1 week
2015-01-24 17:32:45 +00:00
..
_vm_radix.h
default_pager.c Fix mis-spelling of bits and types names in the 2014-11-04 19:56:04 +00:00
device_pager.c Initialize paddr to handle the case of zero size. 2014-03-12 16:38:55 +00:00
memguard.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
memguard.h
phys_pager.c
pmap.h Change pmap_enter(9) interface to take flags parameter and superpage 2014-08-08 17:12:03 +00:00
redzone.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
redzone.h
sg_pager.c
swap_pager.c \n at end of panicstr is redundant. 2014-11-23 18:32:21 +00:00
swap_pager.h
uma_core.c Eliminate a stale debug message. The per-CPU cache locks were replaced 2014-12-31 17:44:57 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h Implement soft pressure on UMA cache bucket sizes. 2013-11-19 10:05:53 +00:00
uma.h Create two public UMA_ZONE_PCPU zones: 64 bit sized and pointer sized. 2014-02-10 19:59:46 +00:00
vm_extern.h Handle wiring failures in vm_map_wire() with the new functions 2014-08-02 16:10:24 +00:00
vm_fault.c Revamp the default page clustering strategy that is used by the page fault 2015-01-16 18:17:09 +00:00
vm_glue.c Add kernel option KSTACK_USAGE_PROF to sample the stack depth on 2014-10-04 18:38:14 +00:00
vm_init.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
vm_kern.c Fix multiple incorrect SYSCTL arguments in the kernel: 2014-10-21 07:31:21 +00:00
vm_kern.h
vm_map.c vmspace_release() may sleep if the last reference is being released, 2015-01-24 16:59:38 +00:00
vm_map.h Oops. vm_map_simplify_entry() is used by mac_proc_vm_revoke_recurse(), so 2014-09-08 02:25:01 +00:00
vm_meter.c Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_mmap.c Always ignore the deprecated MAP_RENAME and MAP_NORESERVE flags to mmap(). 2014-12-05 15:24:42 +00:00
vm_object.c When the last reference on the vnode' vm object is dropped, read the 2014-12-05 15:02:30 +00:00
vm_object.h Update a stale comment. 2014-09-11 03:16:57 +00:00
vm_page.c Add flag VM_ALLOC_NOWAIT for vm_page_grab() that prevents sleeping and 2014-12-22 09:02:21 +00:00
vm_page.h Add flag VM_ALLOC_NOWAIT for vm_page_grab() that prevents sleeping and 2014-12-22 09:02:21 +00:00
vm_pageout.c Add vm.panic_on_oom sysctl, which enables those who would rather panic than 2015-01-24 17:32:45 +00:00
vm_pageout.h
vm_pager.c Avoid an exclusive acquisition of the object lock on the expected execution 2014-09-14 18:07:55 +00:00
vm_pager.h Merge from projects/sendfile: 2014-11-23 12:01:52 +00:00
vm_param.h Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
vm_phys.c The physical memory allocator supports the use of distinct free lists for 2014-12-31 00:54:38 +00:00
vm_phys.h The physical memory allocator supports the use of distinct free lists for 2014-12-31 00:54:38 +00:00
vm_radix.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
vm_radix.h Eliminate a redundant parameter to vm_radix_replace(). 2013-12-08 20:07:02 +00:00
vm_reserv.c By the time that vm_reserv_init() runs, vm_phys_segs[] is initialized. Use 2014-11-22 17:46:30 +00:00
vm_reserv.h
vm_unix.c Remove ia64. 2014-07-07 00:27:09 +00:00
vm_zeroidle.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
vm.h
vnode_pager.c We already have "int i" in this scope. 2014-11-24 07:57:20 +00:00
vnode_pager.h Merge from projects/sendfile: 2014-11-23 12:01:52 +00:00