kernel-aes67/mm
Nick Piggin 4ff1ffb487 [PATCH] oom: reclaim_mapped on oom
Potentially it takes several scans of the lru lists before we can even start
reclaiming pages.

mapped pages, with young ptes can take 2 passes on the active list + one on
the inactive list.  But reclaim_mapped may not always kick in instantly, so it
could take even more than that.

Raise the threshold for marking a zone as all_unreclaimable from a factor of 4
time the pages in the zone to 6.  Introduce a mechanism to force
reclaim_mapped if we've reached a factor 3 and still haven't made progress.

Previously, a customer doing stress testing was able to easily OOM the box
after using only a small fraction of its swap (~100MB).  After the patches, it
would only OOM after having used up all swap (~800MB).

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:48:48 -07:00
..
bootmem.c [PATCH] bootmem: miscellaneous coding style fixes 2006-09-26 08:48:45 -07:00
fadvise.c [PATCH] fadvise() make POSIX_FADV_NOREUSE a no-op 2006-08-06 08:57:47 -07:00
filemap_xip.c
filemap.c [PATCH] mm: non syncing lock_page() 2006-09-26 08:48:48 -07:00
filemap.h
fremap.c [PATCH] mm: small cleanup of install_page() 2006-09-26 08:48:44 -07:00
highmem.c [PATCH] reduce MAX_NR_ZONES: move HIGHMEM counters into highmem.c/.h 2006-09-26 08:48:46 -07:00
hugetlb.c
internal.h [PATCH] mm: VM_BUG_ON 2006-09-26 08:48:44 -07:00
Kconfig
madvise.c
Makefile
memory_hotplug.c [PATCH] memory hotadd fixes: enhance collision check 2006-08-06 08:57:49 -07:00
memory.c [PATCH] Add kerneldocs for some functions in mm/memory.c 2006-09-26 08:48:47 -07:00
mempolicy.c [PATCH] linearly index zone->node_zonelists[] 2006-09-26 08:48:47 -07:00
mempool.c [PATCH] dm: work around mempool_alloc, bio_alloc_bioset deadlocks 2006-09-01 11:39:09 -07:00
migrate.c
mincore.c
mlock.c
mmap.c [PATCH] mm: tracking shared dirty pages 2006-09-26 08:48:44 -07:00
mmzone.c [PATCH] mm/mmzone.c: EXPORT_UNUSED_SYMBOL 2006-07-10 13:24:17 -07:00
mprotect.c [PATCH] mm: optimize the new mprotect() code a bit 2006-09-26 08:48:44 -07:00
mremap.c
msync.c [PATCH] mm: msync() cleanup 2006-09-26 08:48:45 -07:00
nommu.c [PATCH] nommu: export two symbols for drivers to use 2006-07-14 21:53:53 -07:00
oom_kill.c [PATCH] out of memory notifier 2006-09-26 08:48:47 -07:00
page_alloc.c [PATCH] linearly index zone->node_zonelists[] 2006-09-26 08:48:47 -07:00
page_io.c [PATCH] mm: swap write failure fixup 2006-09-26 08:48:48 -07:00
page-writeback.c [PATCH] mm: non syncing lock_page() 2006-09-26 08:48:48 -07:00
pdflush.c
prio_tree.c
readahead.c
rmap.c [PATCH] mm: tracking shared dirty pages 2006-09-26 08:48:44 -07:00
shmem.c [PATCH] reduce MAX_NR_ZONES: move HIGHMEM counters into highmem.c/.h 2006-09-26 08:48:46 -07:00
slab.c [PATCH] slab: respect architecture and caller mandated alignment 2006-09-26 08:48:48 -07:00
slob.c
sparse.c
swap_state.c
swap.c [PATCH] mm/: make functions static 2006-09-26 08:48:45 -07:00
swapfile.c [PATCH] swsusp: Fix swap_type_of 2006-08-27 11:01:28 -07:00
thrash.c
tiny-shmem.c
truncate.c [PATCH] invalidate_complete_page() race fix 2006-09-08 10:22:50 -07:00
util.c
vmalloc.c [PATCH] mm/: make functions static 2006-09-26 08:48:45 -07:00
vmscan.c [PATCH] oom: reclaim_mapped on oom 2006-09-26 08:48:48 -07:00
vmstat.c [PATCH] reduce MAX_NR_ZONES: remove display of counters for unconfigured zones 2006-09-26 08:48:47 -07:00