From d113ceaefa4dc24df10ffa1591e2315c1268b759 Mon Sep 17 00:00:00 2001 From: wcohen Date: Tue, 24 Apr 2007 15:21:01 +0000 Subject: [PATCH] * tapset/memory.stp: Add matching vm.pagefault.return * testsuite/buildok/memory.stp: Test vm.pagefault.return. --- ChangeLog | 5 +++++ tapset/memory.stp | 17 +++++++++++++++++ testsuite/buildok/memory.stp | 5 +++++ 3 files changed, 27 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3acc80678..e41c60a68 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-04-24 Will Cohen + + * tapset/memory.stp: Add matching vm.pagefault.return + * testsuite/buildok/memory.stp: Test vm.pagefault.return. + 2007-04-24 Martin Hunt * stp_check.in: More tweaking of mount statement. diff --git a/tapset/memory.stp b/tapset/memory.stp index a3ed628fb..61c77dff1 100644 --- a/tapset/memory.stp +++ b/tapset/memory.stp @@ -26,6 +26,23 @@ probe vm.pagefault = kernel.function( address = $address } +/* probe vm.pagefault.return + * + * Records type of fault that occurred. + * + * Context: + * The process which triggered the fault. + * + * Arguments: + * fault_type - type of fault + */ +probe vm.pagefault.return = kernel.function( + %( kernel_v >= "2.6.13" %? "__handle_mm_fault" %: "handle_mm_fault" %) + ).return +{ + fault_type = $return +} + /* Return which node the given address belongs to in a NUMA system */ function addr_to_node:long(addr:long) /* pure */ %{ diff --git a/testsuite/buildok/memory.stp b/testsuite/buildok/memory.stp index ce9f28cb6..12d4e4a78 100755 --- a/testsuite/buildok/memory.stp +++ b/testsuite/buildok/memory.stp @@ -3,3 +3,8 @@ probe vm.pagefault { printf("ppname: %s, %d, %p\n", probefunc(), write_access, address) } + +probe vm.pagefault.return +{ + printf("ppname: %s, %d\n", probefunc(), fault_type) +} -- 2.43.5