Skip to content

Zoned VM stats

Christoph Lameter lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest14 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/14Add some consts for inlines in mm.hinclude/linux/mm.h+10 -100 replies
2/14Basic counter functionalityinclude/linux/gfp.h include/linux/mmzone.h include/linux/page-flags.h +2 more+335 -00 replies
3/14Convert nr_mappeddrivers/base/node.c fs/proc/proc_misc.c include/linux/mmzone.h +6 more+14 -150 replies
4/14Convert nr_pagecachearch/sparc/kernel/sys_sunos.c arch/sparc64/kernel/sys_sunos32.c fs/proc/proc_misc.c +7 more+11 -620 replies
5/14Resurrect scan_control.may_swapmm/vmscan.c+7 -00 replies
6/14Zone Reclaiminclude/linux/swap.h include/linux/topology.h mm/page_alloc.c +1 more+85 -30 replies
7/14Expanded node and zone statisticsdrivers/base/node.c mm/page_alloc.c+14 -30 replies
8/14Convert nr_slabdrivers/base/node.c fs/proc/proc_misc.c include/linux/mmzone.h +4 more+10 -110 replies
9/14Convert nr_page_tabledrivers/base/node.c fs/proc/proc_misc.c include/linux/mmzone.h +3 more+8 -110 replies
10/14Convert nr_dirtyarch/i386/mm/pgtable.c drivers/base/node.c fs/buffer.c +12 more+22 -230 replies
11/14Convert nr_writebackarch/i386/mm/pgtable.c drivers/base/node.c fs/proc/proc_misc.c +5 more+13 -170 replies
12/14Convert nr_unstablefs/fs-writeback.c fs/nfs/write.c include/linux/mmzone.h +4 more+11 -130 replies
13/14Remove get_page_state functionsarch/i386/mm/pgtable.c drivers/base/node.c fs/proc/proc_misc.c +3 more+0 -370 replies
14/14Remove wbsmm/page-writeback.c+16 -460 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC3 00/14] Zoned VM stats

Zone based VM statistics are necessary to be able to determine what the state of memory in one zone is. In a NUMA system this can be helpful to do local reclaim and other memory optimizations by shifting VM load to optimize page allocation. It is also helpful to know how the computing load affects the memory allocations on various zones.

The patchset introduces a framework for counters that is a cross between the existing page_stats --which are simply global counters split per cpu-- and the approach of deferred incremental updates implemented for nr_pagecache.

Small per cpu 8 bit counters are introduced in struct zone. If counting exceeds certain threshold then the counters are accumulated in an array in the zone of the page and in a global array. This means that access to VM counter information for a zone and for the whole machine is possible by simply indexing an array. [Thanks to Nick Piggin for pointing me at that approach].

The new statistics are then used to realize zone reclaim.

Patchset is against 2.6.15-rc5-mm2. The patches after zone reclaim are optional.

This is expanding and I hope its complete. But I have not tested it in UP and SMP yet. There may be yet unforeseen consequences to the changes to various counters.

1 Add some consts for inlines in mm.h
2 Basic counter functionality
3 Convert nr_mapped
4 Convert nr_pagecache
5 Resurrect scan_control.may_swap
6 Zone Reclaim
7 Expanded node and zone statistics
8 Convert nr_slab
9 Convert nr_page_table
10 Convert nr_dirty
11 Convert nr_writeback
12 Convert nr_unstable
13 Remove get_page_state functions
14 Remove wbs