kernel-ark/mm
Christoph Lameter 4ae7c03943 [PATCH] Periodically drain non local pagesets
The pageset array can potentially acquire a huge amount of memory on large
NUMA systems.  F.e.  on a system with 512 processors and 256 nodes there
will be 256*512 pagesets.  If each pageset only holds 5 pages then we are
talking about 655360 pages.With a 16K page size on IA64 this results in
potentially 10 Gigabytes of memory being trapped in pagesets.  The typical
cases are much less for smaller systems but there is still the potential of
memory being trapped in off node pagesets.  Off node memory may be rarely
used if local memory is available and so we may potentially have memory in
seldom used pagesets without this patch.

The slab allocator flushes its per cpu caches every 2 seconds.  The
following patch flushes the off node pageset caches in the same way by
tying into the slab flush.

The patch also changes /proc/zoneinfo to include the number of pages
currently in each pageset.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:18 -07:00
..
bootmem.c
fadvise.c
filemap.c [PATCH] broken fault_in_pages_readable call in generic_file_buffered_write() 2005-06-06 14:42:23 -07:00
fremap.c
highmem.c
hugetlb.c [PATCH] Hugepage consolidation 2005-06-21 18:46:15 -07:00
internal.h
madvise.c [PATCH] madvise: merge the maps 2005-06-21 18:46:13 -07:00
Makefile
memory.c [PATCH] do_swap_page() can map random data if swap read fails 2005-05-17 07:59:20 -07:00
mempolicy.c [PATCH] node local per-cpu-pages 2005-06-21 18:46:16 -07:00
mempool.c
mincore.c
mlock.c
mmap.c [PATCH] mmap topdown fix for large stack limit, large allocation 2005-06-21 18:46:16 -07:00
mprotect.c
mremap.c [PATCH] mm acct accounting fix 2005-05-17 07:59:12 -07:00
msync.c
nommu.c [PATCH] Avoiding mmap fragmentation 2005-06-21 18:46:16 -07:00
oom_kill.c [PATCH] add OOM debug 2005-06-21 18:46:17 -07:00
page_alloc.c [PATCH] Periodically drain non local pagesets 2005-06-21 18:46:18 -07:00
page_io.c
page-writeback.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
pdflush.c
prio_tree.c
readahead.c
rmap.c [PATCH] try_to_unmap_cluster() passes out-of-bounds pte to pte_unmap() 2005-05-24 20:08:13 -07:00
shmem.c
slab.c [PATCH] Periodically drain non local pagesets 2005-06-21 18:46:18 -07:00
swap_state.c
swap.c
swapfile.c [PATCH] swapout oops fix 2005-05-17 07:59:18 -07:00
thrash.c
tiny-shmem.c
truncate.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
vmalloc.c [PATCH] x86_64: Fixed guard page handling again in iounmap 2005-05-20 15:48:20 -07:00
vmscan.c [PATCH] vm: try_to_free_pages unused argument 2005-06-21 18:46:17 -07:00