freebsd-nq/sys/vm
Konstantin Belousov 3f1c4c4f31 When OOM searches for a process to kill, ignore the processes already
killed by OOM. When killed process waits for a page allocation, try to
satisfy the request as fast as possible.

This removes the often encountered deadlock, where OOM continously
selects the same victim process, that sleeps uninterruptibly waiting
for a page. The killed process may still sleep if page cannot be
obtained immediately, but testing has shown that system has much
higher chance to survive in OOM situation with the patch.

In collaboration with:	pho
Reviewed by:	alc
MFC after:	4 weeks
2010-04-06 10:43:01 +00:00
..
default_pager.c Implement global and per-uid accounting of the anonymous memory. Add 2009-06-23 20:45:22 +00:00
device_pager.c Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
memguard.c
memguard.h
phys_pager.c Implement global and per-uid accounting of the anonymous memory. Add 2009-06-23 20:45:22 +00:00
pmap.h o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
redzone.c
redzone.h
sg_pager.c Mark the fake pages constructed by the OBJT_SG pager valid. This was 2009-08-29 02:17:40 +00:00
swap_pager.c Add sysctl documentation strings. The descriptions are derived 2009-11-02 16:56:59 +00:00
swap_pager.h
uma_core.c (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h - enable alignment on amd64 only 2010-03-22 22:39:32 +00:00
uma.h
vm_contig.c Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vm_extern.h Simplify both the invocation and the implementation of vm_fault() for wiring 2009-11-18 18:05:54 +00:00
vm_fault.c When OOM searches for a process to kill, ignore the processes already 2010-04-06 10:43:01 +00:00
vm_glue.c o Introduce vm_sync_icache() for making the I-cache coherent with 2009-10-21 18:38:02 +00:00
vm_init.c Align the start of the clean submap to a superpage boundary. Although 2010-02-21 22:23:13 +00:00
vm_kern.c Implement global and per-uid accounting of the anonymous memory. Add 2009-06-23 20:45:22 +00:00
vm_kern.h
vm_map.c Make _vm_map_init() the one place where the vm map's pmap field is 2010-04-03 19:07:05 +00:00
vm_map.h Make _vm_map_init() the one place where the vm map's pmap field is 2010-04-03 19:07:05 +00:00
vm_meter.c Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to 2009-07-24 13:50:29 +00:00
vm_mmap.c Reject attempts to create a MAP_ANON mapping with a non-zero offset. 2010-03-23 21:08:07 +00:00
vm_object.c VI_OBJDIRTY vnode flag mirrors the state of OBJ_MIGHTBEDIRTY vm object 2009-12-21 12:29:38 +00:00
vm_object.h VI_OBJDIRTY vnode flag mirrors the state of OBJ_MIGHTBEDIRTY vm object 2009-12-21 12:29:38 +00:00
vm_page.c vm_reserv_alloc_page() should never be called on an OBJT_SG object, just as 2010-04-05 06:23:31 +00:00
vm_page.h Align and pad the page queue and free page queue locks so that the linker 2009-10-04 18:53:10 +00:00
vm_pageout.c When OOM searches for a process to kill, ignore the processes already 2010-04-06 10:43:01 +00:00
vm_pageout.h
vm_pager.c Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to 2009-07-24 13:50:29 +00:00
vm_pager.h Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar to 2009-07-24 13:50:29 +00:00
vm_param.h
vm_phys.c Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vm_phys.h Add support to the virtual memory system for configuring machine- 2009-07-12 23:31:20 +00:00
vm_reserv.c
vm_reserv.h
vm_unix.c
vm_zeroidle.c Split P_NOLOAD into a per-thread flag (TDF_NOLOAD). 2009-11-03 16:46:52 +00:00
vm.h Replace VM_PROT_OVERRIDE_WRITE by VM_PROT_COPY. VM_PROT_OVERRIDE_WRITE has 2009-11-26 05:16:07 +00:00
vnode_pager.c Remove write-only variable. 2010-02-22 16:00:56 +00:00
vnode_pager.h