summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.examples/memory/numa_faults.stp
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-07-10 11:17:03 -0400
committerDave Brolley <brolley@redhat.com>2009-07-10 11:17:03 -0400
commit5739030625d3f1697c264e3d8f04e932d1e0773d (patch)
tree0ed2d10376f2bf9bb009e31357d7913277d29bfc /testsuite/systemtap.examples/memory/numa_faults.stp
parentbdf70a5d466fa9c1559a93ab71603981f1c0d753 (diff)
parent1e9ab8199dff90c1b6e7290f0f7b4eb424a9ff9f (diff)
downloadsystemtap-steved-5739030625d3f1697c264e3d8f04e932d1e0773d.tar.gz
systemtap-steved-5739030625d3f1697c264e3d8f04e932d1e0773d.tar.xz
systemtap-steved-5739030625d3f1697c264e3d8f04e932d1e0773d.zip
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'testsuite/systemtap.examples/memory/numa_faults.stp')
-rwxr-xr-xtestsuite/systemtap.examples/memory/numa_faults.stp38
1 files changed, 38 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/memory/numa_faults.stp b/testsuite/systemtap.examples/memory/numa_faults.stp
new file mode 100755
index 00000000..34a0ace7
--- /dev/null
+++ b/testsuite/systemtap.examples/memory/numa_faults.stp
@@ -0,0 +1,38 @@
+#! /usr/bin/env stap
+
+global execnames, page_faults, node_faults, nodes
+
+probe vm.pagefault {
+ p = pid(); n=addr_to_node(address)
+ execnames[p] = execname()
+ page_faults[p, write_access ? 1 : 0] <<< 1
+ node_faults[p, n] <<< 1
+ nodes[n] <<< 1
+}
+
+function print_pf () {
+ printf ("\n")
+ printf ("%-16s %-6s %10s %10s %-20s\n",
+ "Execname", "PID", "RD Faults", "WR Faults", "Node:Faults")
+ print ("======================= ========== ========== =============\n")
+ foreach (pid in execnames) {
+ printf ("%-16s %6d %10d %10d ", execnames[pid], pid,
+ @count(page_faults[pid,0]), @count(page_faults[pid,1]))
+ foreach ([node+] in nodes) {
+ if ([pid, node] in node_faults)
+ printf ("%d:%d ", node, @count(node_faults[pid, node]))
+ }
+ printf ("\n")
+ }
+ printf("\n")
+}
+
+probe begin {
+ printf("Starting pagefault counters \n")
+}
+
+probe end {
+ printf("Printing counters: \n")
+ print_pf ()
+ printf("Done\n")
+}