[PATCH] VM instrumentation
authorAndrew Morton <akpm@zip.com.au>
Fri, 19 Jul 2002 04:09:17 +0000 (21:09 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 19 Jul 2002 04:09:17 +0000 (21:09 -0700)
commite177ea28e7eded3490174487c81e5bef8a2c4d95
tree3a4422d4f04b7643fd14e809e7b8385246122bd9
parent6a2ea3382b534e937ba2153f4a0c6021e04a1ef5
[PATCH] VM instrumentation

A patch from Rik which adds some operational statitics to the VM.

In /proc/meminfo:

PageTables: Amount of memory used for process pagetables
PteChainTot: Amount of memory allocated for pte_chain objects
PteChainUsed: Amount of memory currently in use for pte chains.

In /proc/stat:

pageallocs: Number of pages allocated in the page allocator
pagefrees: Number of pages returned to the page allocator

(These can be used to measure the allocation rate)

pageactiv: Number of pages activated (moved to the active list)
pagedeact: Number of pages deactivated (moved to the inactive list)
pagefault: Total pagefaults
majorfault: Major pagefaults
pagescan: Number of pages which shrink_cache looked at
pagesteal: Number of pages which shrink_cache freed
pageoutrun: Number of calls to try_to_free_pages()
allocstall: Number of calls to balance_classzone()

Rik will be writing a userspace app which interprets these things.

The /proc/meminfo stats are efficient, but the /proc/stat accumulators
will cause undesirable cacheline bouncing.  We need to break the disk
statistics out of struct kernel_stat and make everything else in there
per-cpu.  If that doesn't happen in time for 2.6 then we disable
KERNEL_STAT_INC().
12 files changed:
fs/proc/proc_misc.c
include/asm-arm/proc-armv/rmap.h
include/asm-generic/rmap.h
include/linux/kernel_stat.h
include/linux/page-flags.h
init/main.c
mm/filemap.c
mm/memory.c
mm/page_alloc.c
mm/rmap.c
mm/swap.c
mm/vmscan.c