From: wcohen Date: Tue, 24 Apr 2007 15:21:01 +0000 (+0000) Subject: * tapset/memory.stp: Add matching vm.pagefault.return X-Git-Tag: release-0.5.14~129 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=d113ceaefa4dc24df10ffa1591e2315c1268b759;p=systemtap.git * tapset/memory.stp: Add matching vm.pagefault.return * testsuite/buildok/memory.stp: Test vm.pagefault.return. --- 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) +}