kernel-ark/mm
Christoph Lameter 35386e3b0f [PATCH] slab: cache_reap(): further reduction in interrupt holdoff
cache_reap takes the l3->list_lock (disabling interrupts) unconditionally
and then does a few checks and maybe does some cleanup.  This patch makes
cache_reap() only take the lock if there is work to do and then the lock is
taken and released for each cleaning action.

The checking of when to do the next reaping is done without any locking and
becomes racy.  Should not matter since reaping can also be skipped if the
slab mutex cannot be acquired.

The same is true for the touched processing.  If we get this wrong once in
awhile then we will mistakenly clean or not clean the shared cache.  This
will impact performance slightly.

Note that the additional drain_array() function introduced here will fall
out in a subsequent patch since array cleaning will now be very similar
from all callers.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-22 07:54:05 -08:00
..
bootmem.c
fadvise.c
filemap_xip.c
filemap.c [PATCH] mm: make __put_page internal 2006-03-22 07:54:01 -08:00
filemap.h
fremap.c
highmem.c
hugetlb.c [PATCH] optimize follow_hugetlb_page 2006-03-22 07:54:04 -08:00
internal.h [PATCH] remove set_page_count() outside mm/ 2006-03-22 07:54:02 -08:00
Kconfig
madvise.c
Makefile
memory_hotplug.c [PATCH] memory hotadd: pgdat->node_present_pages fix 2006-03-09 19:47:38 -08:00
memory.c [PATCH] hugepage: Fix hugepage logic in free_pgtables() harder 2006-03-22 07:54:04 -08:00
mempolicy.c [PATCH] mm: kill kmem_cache_t usage 2006-03-22 07:53:58 -08:00
mempool.c [PATCH] mm: kill kmem_cache_t usage 2006-03-22 07:53:58 -08:00
mincore.c
mlock.c
mmap.c [PATCH] remove VM_DONTCOPY bogosities 2006-03-22 07:54:01 -08:00
mprotect.c [PATCH] Enable mprotect on huge pages 2006-03-22 07:54:03 -08:00
mremap.c
msync.c
nommu.c [PATCH] mm: nommu use compound pages 2006-03-22 07:54:01 -08:00
oom_kill.c [PATCH] out_of_memory() locking fix 2006-03-02 08:33:07 -08:00
page_alloc.c [PATCH] mm: prep_zero_page() in irq is a bug 2006-03-22 07:54:02 -08:00
page_io.c
page-writeback.c
pdflush.c
prio_tree.c
readahead.c [PATCH] readahead: fix initial window size calculation 2006-03-22 07:54:03 -08:00
rmap.c [PATCH] mm: more CONFIG_DEBUG_VM 2006-03-22 07:54:02 -08:00
shmem.c [PATCH] shmem: inline to avoid warning 2006-03-22 07:54:02 -08:00
slab.c [PATCH] slab: cache_reap(): further reduction in interrupt holdoff 2006-03-22 07:54:05 -08:00
slob.c
sparse.c
swap_state.c
swap.c [PATCH] mm: less atomic ops 2006-03-22 07:53:57 -08:00
swapfile.c
thrash.c
tiny-shmem.c
truncate.c
util.c
vmalloc.c
vmscan.c [PATCH] mm: make shrink_all_memory try harder 2006-03-22 07:54:05 -08:00