linux/mm
Dimitri Sivanich a1cb2c60dd mm/vmstat.c: cache align vm_stat
Avoid false sharing of the vm_stat array.

This was found to adversely affect tmpfs I/O performance.

Tests run on a 640 cpu UV system.

With 120 threads doing parallel writes, each to different tmpfs mounts:
No patch:		~300 MB/sec
With vm_stat alignment:	~430 MB/sec

Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
Acked-by: Christoph Lameter <cl@gentwo.org>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-10-31 17:30:51 -07:00
..
backing-dev.c mm-add-comment-explaining-task-state-setting-in-bdi_forker_thread-fix 2011-10-31 17:30:49 -07:00
bootmem.c
bounce.c
cleancache.c
compaction.c mm: compaction: make compact_zone_order() static 2011-10-31 17:30:49 -07:00
debug-pagealloc.c debug-pagealloc: add support for highmem pages 2011-10-31 17:30:48 -07:00
dmapool.c
fadvise.c
failslab.c
filemap_xip.c
filemap.c vfs: iov_iter: have iov_iter_advance decrement nr_segs appropriately 2011-10-28 13:55:08 +02:00
fremap.c
highmem.c mm: fix kunmap_high() comment 2011-10-31 17:30:49 -07:00
huge_memory.c mm/huge_memory: fix typo when updating mmu cache 2011-10-31 17:30:51 -07:00
hugetlb.c
hwpoison-inject.c
init-mm.c
internal.h
Kconfig memblock: add NO_BOOTMEM config symbol 2011-10-31 17:30:47 -07:00
Kconfig.debug
kmemcheck.c
kmemleak-test.c
kmemleak.c
ksm.c oom: fix race while temporarily setting current's oom_score_adj 2011-10-31 17:30:45 -07:00
maccess.c
madvise.c
Makefile Cross Memory Attach 2011-10-31 17:30:44 -07:00
memblock.c mm/memblock.c: quiet sparse noise 2011-10-31 17:30:50 -07:00
memcontrol.c mm: change isolate mode from #define to bitwise type 2011-10-31 17:30:44 -07:00
memory_hotplug.c
memory-failure.c HWPOISON: convert pr_debug()s to pr_info()s 2011-10-31 17:30:49 -07:00
memory.c
mempolicy.c mm/mempolicy.c: quiet sparse noise 2011-10-31 17:30:50 -07:00
mempool.c
migrate.c mm: migration: clean up unmap_and_move() 2011-10-31 17:30:45 -07:00
mincore.c mm: clarify the radix_tree exceptional cases 2011-08-03 14:25:24 -10:00
mlock.c mm: munlock use mapcount to avoid terrible overhead 2011-10-31 17:30:51 -07:00
mm_init.c
mmap.c mm/mmap.c: eliminate the ret variable from mm_take_all_locks() 2011-10-31 17:30:49 -07:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c
mremap.c thp: mremap support and TLB optimization 2011-10-31 17:30:48 -07:00
msync.c
nobootmem.c
nommu.c
oom_kill.c oom: fix race while temporarily setting current's oom_score_adj 2011-10-31 17:30:45 -07:00
page_alloc.c mm: neaten warn_alloc_failed 2011-10-31 17:30:48 -07:00
page_cgroup.c mm: Convert vmalloc/memset to vzalloc 2011-09-15 13:56:56 +02:00
page_io.c
page_isolation.c
page-writeback.c mm/page-writeback.c: document bdi_min_ratio 2011-10-31 17:30:45 -07:00
pagewalk.c
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c
prio_tree.c
process_vm_access.c Cross Memory Attach 2011-10-31 17:30:44 -07:00
quicklist.c
readahead.c
rmap.c ksm: fix the comment of try_to_unmap_one() 2011-10-31 17:30:49 -07:00
shmem.c vmscan: add barrier to prevent evictable page in unevictable list 2011-10-31 17:30:50 -07:00
slab.c mm: restrict access to slab files under procfs and sysfs 2011-09-27 22:59:27 +03:00
slob.c
slub.c lib/string.c: introduce memchr_inv() 2011-10-31 17:30:47 -07:00
sparse-vmemmap.c
sparse.c
swap_state.c
swap.c
swapfile.c oom: fix race while temporarily setting current's oom_score_adj 2011-10-31 17:30:45 -07:00
thrash.c mm/thrash.c: quiet sparse noise 2011-10-31 17:30:50 -07:00
truncate.c mm: a few small updates for radix-swap 2011-08-03 14:25:24 -10:00
util.c
vmalloc.c mm/vmalloc.c: report more vmalloc failures 2011-10-31 17:30:48 -07:00
vmscan.c vmscan: abort reclaim/compaction if compaction can proceed 2011-10-31 17:30:50 -07:00
vmstat.c mm/vmstat.c: cache align vm_stat 2011-10-31 17:30:51 -07:00