From c728b7da8be430367aa33f9fbacda93d4add9ea2 Mon Sep 17 00:00:00 2001 From: William Cohen Date: Fri, 10 Jul 2009 10:34:13 -0400 Subject: [PATCH] Add numa_faults.stp example. --- testsuite/systemtap.examples/index.html | 3 ++ testsuite/systemtap.examples/index.txt | 11 ++++++ .../systemtap.examples/keyword-index.html | 11 +++++- .../systemtap.examples/keyword-index.txt | 24 ++++++++++++ .../memory/numa_faults.meta | 13 +++++++ .../systemtap.examples/memory/numa_faults.stp | 38 +++++++++++++++++++ 6 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 testsuite/systemtap.examples/memory/numa_faults.meta create mode 100755 testsuite/systemtap.examples/memory/numa_faults.stp diff --git a/testsuite/systemtap.examples/index.html b/testsuite/systemtap.examples/index.html index 5435829f6..e186b615d 100644 --- a/testsuite/systemtap.examples/index.html +++ b/testsuite/systemtap.examples/index.html @@ -94,6 +94,9 @@ keywords: LOCKING
  • memory/kmalloc-top - Show Paths to Kernel Malloc (kmalloc) Invocations
    keywords: MEMORY

    The kmalloc-top perl program runs a small systemtap script to collect stack traces for each call to the kmalloc function and counts the time that each stack trace is observed. When kmalloc-top exits it prints out sorted list. The output can be be filtered to print only only the first stack traces (-t) stack traces with more a minimum counts (-m), or exclude certain stack traces (-e).

  • +
  • memory/numa_faults.stp - Summarize Process Misses across NUMA Nodes
    +keywords: MEMORY NUMA
    +

    The numa_faults.stp script tracks the read and write pages faults for each process. When the script exits it prints out the total read and write pages faults for each process. The script also providea a break down of page faults per node for each process. This script is useful for determining whether the program has good locality (page faults limited to a single node) on a NUMA computer.

  • memory/pfaults.stp - Generate Log of Major and Minor Page Faults
    keywords: MEMORY

    The pfaults.stp script generates a simple log for each major and minor page fault that occurs on the system. Each line contains a timestamp (in microseconds) when the page fault servicing was completed, the pid of the process, the address of the page fault, the type of access (read or write), the type of fault (major or minor), and the elapsed time for page fault. This log can be examined to determine where the page faults are occuring.

  • diff --git a/testsuite/systemtap.examples/index.txt b/testsuite/systemtap.examples/index.txt index 53270b01b..35decb82b 100644 --- a/testsuite/systemtap.examples/index.txt +++ b/testsuite/systemtap.examples/index.txt @@ -175,6 +175,17 @@ keywords: memory counts (-m), or exclude certain stack traces (-e). +memory/numa_faults.stp - Summarize Process Misses across NUMA Nodes +keywords: memory numa + + The numa_faults.stp script tracks the read and write pages faults for + each process. When the script exits it prints out the total read and + write pages faults for each process. The script also providea a break + down of page faults per node for each process. This script is useful + for determining whether the program has good locality (page faults + limited to a single node) on a NUMA computer. + + memory/pfaults.stp - Generate Log of Major and Minor Page Faults keywords: memory diff --git a/testsuite/systemtap.examples/keyword-index.html b/testsuite/systemtap.examples/keyword-index.html index f3db14294..4de284265 100644 --- a/testsuite/systemtap.examples/keyword-index.html +++ b/testsuite/systemtap.examples/keyword-index.html @@ -39,7 +39,7 @@

    Examples by Keyword

    -

    BACKTRACE BUFFER CALLGRAPH CPU DISK FORMAT FREE FUNCTIONS FUTEX GRAPH INTERRUPT IO LOCKING MEMORY MONITOR NETWORK PER-PROCESS PROCESS PROFILING READ SCHEDULER SIGNALS SIMPLE SLEEP SOCKET SYSCALL TCP TIME TRACE TRACEPOINT TRAFFIC TTY USE WAIT4 WRITE

    +

    BACKTRACE BUFFER CALLGRAPH CPU DISK FORMAT FREE FUNCTIONS FUTEX GRAPH INTERRUPT IO LOCKING MEMORY MONITOR NETWORK NUMA PER-PROCESS PROCESS PROFILING READ SCHEDULER SIGNALS SIMPLE SLEEP SOCKET SYSCALL TCP TIME TRACE TRACEPOINT TRAFFIC TTY USE WAIT4 WRITE

    BACKTRACE

    +

    NUMA

    +

    PER-PROCESS