linux/mm
Christoph Lameter a302eb4e46 [PATCH] ZVC: Overstep counters
Increments and decrements are usually grouped rather than mixed.  We can
optimize the inc and dec functions for that case.

Increment and decrement the counters by 50% more than the threshold in
those cases and set the differential accordingly.  This decreases the need
to update the atomic counters.

The idea came originally from Andrew Morton.  The overstepping alone was
sufficient to address the contention issue found when updating the global
and the per zone counters from 160 processors.

Also remove some code in dec_zone_page_state.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-01 11:39:08 -07:00
..
bootmem.c [PATCH] mm/bootmem.c: EXPORT_UNUSED_SYMBOL 2006-07-10 13:24:17 -07:00
fadvise.c [PATCH] fadvise() make POSIX_FADV_NOREUSE a no-op 2006-08-06 08:57:47 -07:00
filemap_xip.c [PATCH] mark address_space_operations const 2006-06-28 14:59:04 -07:00
filemap.c [PATCH] MM: Remove rogue readahead printk 2006-07-29 20:59:55 -07:00
filemap.h [PATCH] generic_file_buffered_write(): handle zero-length iovec segments 2006-06-29 10:26:20 -07:00
fremap.c [PATCH] fix update_mmu_cache in fremap.c 2006-06-23 07:42:52 -07:00
highmem.c [PATCH] zoned vm counters: conversion of nr_bounce to per zone counter 2006-06-30 11:25:36 -07:00
hugetlb.c [PATCH] tightening hugetlb strict accounting 2006-06-23 07:42:48 -07:00
internal.h [PATCH] remove set_page_count() outside mm/ 2006-03-22 07:54:02 -08:00
Kconfig Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-06-29 10:49:17 -07:00
madvise.c [PATCH] Fix MADV_REMOVE protection checking 2006-04-17 18:22:18 -07:00
Makefile [PATCH] zoned vm counters: create vmstat.c/.h from page_alloc.c/.h 2006-06-30 11:25:34 -07:00
memory_hotplug.c [PATCH] memory hotadd fixes: enhance collision check 2006-08-06 08:57:49 -07:00
memory.c [PATCH] per-task-delay-accounting: sync block I/O and swapin delay collection 2006-07-14 21:53:56 -07:00
mempolicy.c [PATCH] Use Zoned VM Counters for NUMA statistics 2006-06-30 11:25:36 -07:00
mempool.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-03-26 09:41:18 -08:00
migrate.c [PATCH] Allow migration of mlocked pages 2006-06-25 10:00:55 -07:00
mincore.c [PATCH] freepgt: sys_mincore ignore FIRST_USER_PGD_NR 2005-04-19 13:29:20 -07:00
mlock.c [PATCH] move capable() to capability.h 2006-01-11 18:42:13 -08:00
mmap.c [PATCH] zoned vm counters: conversion of nr_pagecache to per zone counter 2006-06-30 11:25:34 -07:00
mmzone.c [PATCH] mm/mmzone.c: EXPORT_UNUSED_SYMBOL 2006-07-10 13:24:17 -07:00
mprotect.c [PATCH] add page_mkwrite() vm_operations method 2006-06-23 07:42:51 -07:00
mremap.c [PATCH] lockdep: annotate mm 2006-07-03 15:27:07 -07:00
msync.c [PATCH] Kill PF_SYNCWRITE flag 2006-06-23 17:10:39 +02:00
nommu.c [PATCH] nommu: export two symbols for drivers to use 2006-07-14 21:53:53 -07:00
oom_kill.c [PATCH] sched: cleanup, remove task_t, convert to struct task_struct 2006-07-03 15:27:11 -07:00
page_alloc.c [PATCH] ZVC/zone_reclaim: Leave 1% of unmapped pagecache pages for file I/O 2006-07-03 15:26:59 -07:00
page_io.c [PATCH] Light weight event counters 2006-06-30 11:25:36 -07:00
page-writeback.c [PATCH] zoned vm counters: remove useless struct wbs 2006-06-30 11:25:36 -07:00
pdflush.c [PATCH] pdflush: handle resume wakeups 2006-06-25 10:01:06 -07:00
prio_tree.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
readahead.c spelling fixes 2006-06-26 18:35:02 +02:00
rmap.c [PATCH] zoned vm counters: split NR_ANON_PAGES off from NR_FILE_MAPPED 2006-06-30 11:25:35 -07:00
shmem.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-06-30 15:39:30 -07:00
slab.c [PATCH] Fix kmem_cache_alloc() been documented twice 2006-07-31 13:28:43 -07:00
slob.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sparse.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
swap_state.c [PATCH] lockdep: locking init debugging improvement 2006-07-03 15:27:02 -07:00
swap.c [PATCH] fuse: fix error case in fuse_readpages 2006-08-14 12:54:29 -07:00
swapfile.c [PATCH] swsusp: Fix swap_type_of 2006-08-27 11:01:28 -07:00
thrash.c [PATCH] temporarily disable swap token on memory pressure 2005-11-28 14:42:25 -08:00
tiny-shmem.c [PATCH] devfs: Remove the devfs_fs_kernel.h file from the tree 2006-06-26 12:25:08 -07:00
truncate.c [PATCH] Remove semi-softlockup from invalidate_mapping_pages 2006-06-23 07:43:07 -07:00
util.c [PATCH] slab: optimize constant-size kzalloc calls 2006-03-25 08:22:49 -08:00
vmalloc.c [PATCH] mm: fix oom roll-back of __vmalloc_area_node 2006-07-14 21:53:51 -07:00
vmscan.c [PATCH] ZVC/zone_reclaim: Leave 1% of unmapped pagecache pages for file I/O 2006-07-03 15:26:59 -07:00
vmstat.c [PATCH] ZVC: Overstep counters 2006-09-01 11:39:08 -07:00