summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWenji Huang <wenji.huang@oracle.com>2009-06-29 21:42:19 -0400
committerWenji Huang <wenji.huang@oracle.com>2009-06-29 21:42:19 -0400
commit7735320dcc4008bb5bf8777942ecc5e215fd1a29 (patch)
tree2665eb5d766db374eb4952d001bd82db393150e0
parent2fd285e65eb8e1f77cb5b70a1f81377896ad6b2c (diff)
downloadsystemtap-steved-7735320dcc4008bb5bf8777942ecc5e215fd1a29.tar.gz
systemtap-steved-7735320dcc4008bb5bf8777942ecc5e215fd1a29.tar.xz
systemtap-steved-7735320dcc4008bb5bf8777942ecc5e215fd1a29.zip
Update memory and ioscheduler tapset for 2.6.31
* tapset/ioscheduler.stp (elv_next_request): Change to blk_peek_request. * tapset/memory.stp (vm.pagefault): Replace $write_access.
-rw-r--r--tapset/ioscheduler.stp12
-rw-r--r--tapset/memory.stp5
2 files changed, 15 insertions, 2 deletions
diff --git a/tapset/ioscheduler.stp b/tapset/ioscheduler.stp
index a79ae752..637e2783 100644
--- a/tapset/ioscheduler.stp
+++ b/tapset/ioscheduler.stp
@@ -18,7 +18,11 @@
* @elevator_name: The type of I/O elevator currently enabled
*/
probe ioscheduler.elv_next_request
- = kernel.function("elv_next_request")
+ = %( kernel_v >= "2.6.31" %?
+ kernel.function("blk_peek_request")
+ %:
+ kernel.function("elv_next_request")
+ %)
{
%( kernel_v >= "2.6.10" %?
elevator_name = kernel_string($q->elevator->elevator_type->elevator_name)
@@ -35,7 +39,11 @@ probe ioscheduler.elv_next_request
* @disk_minor: Disk minor number of the request
*/
probe ioscheduler.elv_next_request.return
- = kernel.function("elv_next_request").return
+ = %( kernel_v >= "2.6.31" %?
+ kernel.function("blk_peek_request").return
+ %:
+ kernel.function("elv_next_request").return
+ %)
{
if($return == 0) {
req = 0
diff --git a/tapset/memory.stp b/tapset/memory.stp
index 83875aa4..a855fbcb 100644
--- a/tapset/memory.stp
+++ b/tapset/memory.stp
@@ -15,6 +15,7 @@
global VM_FAULT_OOM=0, VM_FAULT_SIGBUS=1, VM_FAULT_MINOR=2, VM_FAULT_MAJOR=3
global VM_FAULT_NOPAGE=4, VM_FAULT_LOCKED=5, VM_FAULT_ERROR=6
+global FAULT_FLAG_WRITE=1
/**
* sfunction vm_fault_contains - Test return value for page fault reason
@@ -64,7 +65,11 @@ function vm_fault_contains:long (value:long, test:long)
probe vm.pagefault = kernel.function("__handle_mm_fault@mm/memory.c") ?,
kernel.function("handle_mm_fault@mm/memory.c") ?
{
+%( kernel_v >= "2.6.31" %?
+ write_access = $flags & FAULT_FLAG_WRITE
+%:
write_access = $write_access
+%)
address = $address
}