]> sourceware.org Git - systemtap.git/commitdiff
PR 11338 (partial): Used '@defined()' in tty, scheduler, and vfs tapsets.
authorDavid Smith <dsmith@redhat.com>
Mon, 8 Mar 2010 19:38:51 +0000 (13:38 -0600)
committerDavid Smith <dsmith@redhat.com>
Mon, 8 Mar 2010 19:38:51 +0000 (13:38 -0600)
* tapset/tty.stp: Used '@defined()' to remove kernel version checks.
* tapset/scheduler.stp: Ditto.
* tapset/vfs.stp: Used '@defined()' to remove kernel version checks.  Also
  made several probe points optional instead of using kernel version
  checks to know when to include them.
* testsuite/buildok/vfs_testcase.stp: Removed stap '-u' (unoptimized mode)
  switch, since '@defined()' doesn't work in unoptimized mode.

tapset/scheduler.stp
tapset/tty.stp
tapset/vfs.stp
testsuite/buildok/vfs_testcase.stp

index 1610dc0abaab583d20d5b207da861ae036bf8951..46463514aa1551f95f2ff4403097fbed768075c5 100644 (file)
@@ -1,6 +1,7 @@
 // scheduler tapset
 // Copyright (C) 2006 Intel Corporation.
 // Copyright (C) 2005, 2006 IBM Corp.
+// Copyright (C) 2010 Red Hat Inc.
 //
 // This file is part of systemtap, and is free software.  You can
 // redistribute it and/or modify it under the terms of the GNU General
@@ -285,11 +286,7 @@ probe __scheduler.migrate.kp1 = kernel.function("pull_task")
 }
 probe __scheduler.migrate.kp = kernel.function("set_task_cpu")
 {
-%( kernel_v >= "2.6.23" %?
-       cpu_to = $new_cpu
-%:
-       cpu_to = $cpu
-%)
+       cpu_to = (@defined($new_cpu) ? $new_cpu : $cpu)
 }
 probe __scheduler.migrate.tp = kernel.trace("sched_migrate_task")
 {
index 2c4507d215192182bd4e926dc5602b482d3b3de0..4cf27a4a8facc2bbd3c27a53251a7ac65569a50a 100644 (file)
@@ -1,5 +1,6 @@
 // tty tapset
 // Copyright (C) 2009 IBM Corp.
+// Copyright (C) 2010 Red Hat Inc.
 //
 // Author: Breno Leitao <leitao@linux.vnet.ibm.com>
 //
@@ -22,11 +23,8 @@ probe tty.open = kernel.function("tty_open") {
        inode_state = $inode->i_state
        inode_flags = $inode->i_flags
 
-%( kernel_v >= "2.6.20" %?
-       file_name = d_name($filp->f_path->dentry)
-%:
-       file_name = d_name($filp->f_dentry)
-%)
+       file_name = d_name(@defined($filp->f_path->dentry)
+               ? $filp->f_path->dentry : $filp->f_dentry)
        file_mode = $filp->f_mode
        file_flags = $filp->f_flags
 }
@@ -45,11 +43,8 @@ probe tty.release = kernel.function("tty_release") {
        inode_state = $inode->i_state
        inode_flags = $inode->i_flags
 
-%( kernel_v >= "2.6.20" %?
-       file_name = d_name($filp->f_path->dentry)
-%:
-       file_name = d_name($filp->f_dentry)
-%)
+       file_name = d_name(@defined($filp->f_path->dentry)
+               ? $filp->f_path->dentry : $filp->f_dentry)
        file_mode = $filp->f_mode
        file_flags = $filp->f_flags
 }
@@ -86,12 +81,8 @@ probe tty.resize = kernel.function("tty_do_resize") ? {
  * @arg: the ioctl argument
  */
 probe tty.ioctl = kernel.function("tty_ioctl"){
-%( kernel_v >= "2.6.20" %?
-       name = kernel_string($file->f_path->dentry->d_iname)
-%:
-       name = kernel_string($file->f_dentry->d_iname)
-%)
-
+       name = kernel_string(@defined($file->f_path->dentry->d_iname)
+               ? $file->f_path->dentry->d_iname : $file->f_dentry->d_iname)
        cmd = $cmd
        arg = $arg
 }
@@ -142,18 +133,10 @@ probe tty.unregister = kernel.function("tty_unregister_device"){
  * @wait_key: the wait queue key
  */
 probe tty.poll = kernel.function("tty_poll"){
-%( kernel_v >= "2.6.20" %?
-       file_name = d_name($filp->f_path->dentry)
-%:
-       file_name = d_name($filp->f_dentry)
-%)
-
-%( kernel_v >= "2.6.31" %?
-       if ($wait)
-               wait_key = $wait->key
-       else
-%)
-               wait_key = 0
+       file_name = d_name(@defined($filp->f_path->dentry)
+               ? $filp->f_path->dentry : $filp->f_dentry)
+
+       wait_key = (@defined($wait->key) ? ($wait ? $wait->key : 0) : 0)
 }
 
 /**
@@ -188,11 +171,8 @@ probe tty.write = kernel.function("n_tty_write") ? {
        buffer = kernel_string($buf)
        nr = $nr
 
-%( kernel_v >= "2.6.20" %?
-       file_name = d_name($file->f_path->dentry)
-%:
-       file_name = d_name($file->f_dentry)
-%)
+       file_name = d_name(@defined($file->f_path->dentry)
+               ? $file->f_path->dentry : $file->f_dentry)
        driver_name = kernel_string($tty->driver->driver_name)
 }
 
@@ -206,10 +186,7 @@ probe tty.write = kernel.function("n_tty_write") ? {
 probe tty.read = kernel.function("n_tty_read") ? {
        buffer = kernel_string($buf)
        nr = $nr
-%( kernel_v >= "2.6.20" %?
-       file_name = d_name($file->f_path->dentry)
-%:
-       file_name = d_name($file->f_dentry)
-%)
+       file_name = d_name(@defined($file->f_path->dentry)
+               ? $file->f_path->dentry : $file->f_dentry)
        driver_name = kernel_string($tty->driver->driver_name)
 }
index 23d95098a130e19eb7a31e23c7b7921b5a4440b0..5a38a924d62400177d808546b33837049710129a 100644 (file)
@@ -124,11 +124,11 @@ function __file_maxbytes:long (file:long)
 
 function __file_filename:string (file:long)
 {
-%( kernel_v >= "2.6.20" %?
-       dentry = file? @cast(file, "file", "kernel")->f_path->dentry : 0
-%:
-       dentry = file? @cast(file, "file", "kernel")->f_dentry : 0
-%)
+       dentry = file
+               ? (@defined(@cast(file, "file", "kernel")->f_path->dentry)
+                       ? @cast(file, "file", "kernel")->f_path->dentry
+                       : @cast(file, "file", "kernel")->f_dentry)
+               : 0
        name = dentry? @cast(dentry, "dentry", "kernel")->d_name->name : 0
        if (name == 0)
                return "NULL"
@@ -194,11 +194,7 @@ probe generic.fop.aio_read =
        devname = __find_bdevname(dev, __file_bdev($iocb->ki_filp))
        ino = __file_ino($iocb->ki_filp)
         
-%( kernel_v >= "2.6.19" %?
-       pos = $pos
-%:
-       pos = ppos_pos($ppos)
-%)
+       pos = (@defined($pos) ? $pos : ppos_pos($ppos))
        buf = $iov->iov_base
        count = __iov_length($iov,$nr_segs,1,1) /*FIX ME: should be VERIFY_WRITE instead of 1*/
        name = "generic_file_aio_read"
@@ -236,13 +232,10 @@ probe generic.fop.aio_write = kernel.function ("generic_file_aio_write")
 
         pos = $pos
 
-%( kernel_v >= "2.6.19" %?
-        count = __iov_length($iov,$nr_segs,1,0)  /*FIX ME: should be VERIFY_READ instead of 0*/
-        buf = $iov->iov_base
-%:
-        buf = $buf
-        count = $count
-%)
+        count = (@defined($iov)
+               ? __iov_length($iov,$nr_segs,1,0) /*FIX ME: should be VERIFY_READ instead of 0*/
+               : $count)
+       buf = (@defined($iov->iov_base) ? $iov->iov_base : $buf)
        name = "generic_file_aio_write"
        argstr = sprintf("%d, %d ,%p", count, pos,buf)
 
@@ -261,7 +254,6 @@ probe generic.fop.aio_write.return = kernel.function ("generic_file_aio_write").
        }
 }
 
-%( kernel_v < "2.6.19" %?
 probe generic.fop.readv = kernel.function ("generic_file_readv") ?
 {
        dev = __file_dev($filp)
@@ -319,8 +311,6 @@ probe generic.fop.writev.return = kernel.function ("generic_file_writev").return
                units = "bytes"
        }
 }
-%:
-%)
 
 /* checks for aops->readpage, if not defined, return -ENOEXEC
    else assigns generic_file_vm_ops to vma
@@ -368,8 +358,7 @@ probe generic.fop.open.return = kernel.function ("generic_file_open").return
        retstr = sprintf("%d", $return)
 }
 
-%( kernel_v < "2.6.23" %?
-probe generic.fop.sendfile = kernel.function ("generic_file_sendfile")
+probe generic.fop.sendfile = kernel.function ("generic_file_sendfile") ?
 {
        dev = __file_dev($in_file)
        devname = __find_bdevname(dev, __file_bdev($in_file))
@@ -384,7 +373,7 @@ probe generic.fop.sendfile = kernel.function ("generic_file_sendfile")
        size = count
        units = "bytes"
 }
-probe generic.fop.sendfile.return = kernel.function ("generic_file_sendfile").return
+probe generic.fop.sendfile.return = kernel.function ("generic_file_sendfile").return ?
 {
        name = "generic_file_sendfile"
        retstr = sprintf("%d", $return)
@@ -394,7 +383,6 @@ probe generic.fop.sendfile.return = kernel.function ("generic_file_sendfile").re
                units = "bytes"
        }
 }
-%)
 
 probe generic.fop.splice_read = kernel.function ("generic_file_splice_read") ?
 {
@@ -464,7 +452,6 @@ probe generic.fop.splice_write.return = kernel.function ("generic_file_splice_wr
        }
 }
 
-%( kernel_v < "2.6.19" %?
 probe generic.fop.read = kernel.function ("generic_file_read") ?
 {
        dev = __file_dev($filp)
@@ -514,7 +501,6 @@ probe generic.fop.write.return = kernel.function ("generic_file_write").return ?
                units = "bytes"
        }
 }
-%)
 
 /* generic_writepages calls mpage_writepages(mapping, wbc, NULL) */
 probe generic.aop.writepages = kernel.function ("mpage_writepages")
@@ -708,11 +694,8 @@ probe vfs.do_mpage_readpage.return = kernel.function ("do_mpage_readpage").retur
        units = "pages"
 }
 
-%( kernel_v >= "2.6.27" %?
-probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache_locked")
-%:
-probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache")
-%)
+probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache_locked") !,
+       kernel.function ("add_to_page_cache")
 {
        dev = $mapping->host->i_sb->s_dev
        devname = __find_bdevname(dev, $mapping->host->i_sb->s_bdev)
@@ -725,11 +708,8 @@ probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache")
        argstr = sprintf("%d, %d", ino, index)
 }
 
-%( kernel_v >= "2.6.27" %?
-probe vfs.add_to_page_cache.return = kernel.function ("add_to_page_cache_locked").return
-%:
-probe vfs.add_to_page_cache.return = kernel.function ("add_to_page_cache").return
-%)
+probe vfs.add_to_page_cache.return = kernel.function ("add_to_page_cache_locked").return !,
+       kernel.function ("add_to_page_cache").return
 {
        name = "vfs.add_to_page_cache"
        retstr = sprintf("%d", $return)
@@ -882,15 +862,13 @@ probe _vfs.generic_block_bmap = kernel.function ("generic_block_bmap")
        get_block = $get_block
 }
 
-%( kernel_v <= "2.6.25" %?
-probe _vfs.generic_commit_write = kernel.function ("generic_commit_write")
+probe _vfs.generic_commit_write = kernel.function ("generic_commit_write") ?
 {
        file = $file
        page = $page
        from = $from
        to = $to
 }
-%)
 
 probe _vfs.block_prepare_write = kernel.function ("__block_prepare_write")
 {
@@ -912,8 +890,7 @@ probe _vfs.block_prepare_write.return = kernel.function("__block_prepare_write")
        error_str = error ? errno_str(error) : ""
 }
 
-%( kernel_v >= "2.6.24" %?
-probe _vfs.block_write_begin = kernel.function ("block_write_begin")
+probe _vfs.block_write_begin = kernel.function ("block_write_begin") ?
 {
        file = $file
        pos = $pos
@@ -923,7 +900,7 @@ probe _vfs.block_write_begin = kernel.function ("block_write_begin")
        _inode = __address_inode($mapping)
 }
 
-probe _vfs.block_write_begin.return = kernel.function ("block_write_begin").return
+probe _vfs.block_write_begin.return = kernel.function ("block_write_begin").return ?
 {
        file = $file
        pos = $pos
@@ -937,7 +914,7 @@ probe _vfs.block_write_begin.return = kernel.function ("block_write_begin").retu
        error_str = error ? errno_str(error) : ""
 }
 
-probe _vfs.block_write_end = kernel.function ("block_write_end")
+probe _vfs.block_write_end = kernel.function ("block_write_end") ?
 {
        file = $file
        pos = $pos
@@ -946,7 +923,7 @@ probe _vfs.block_write_end = kernel.function ("block_write_end")
        _inode = __address_inode($mapping)
 }
 
-probe _vfs.block_write_end.return = kernel.function ("block_write_end").return
+probe _vfs.block_write_end.return = kernel.function ("block_write_end").return ?
 {
        file = $file
        pos = $pos
@@ -955,4 +932,3 @@ probe _vfs.block_write_end.return = kernel.function ("block_write_end").return
        _inode = __address_inode($mapping)
        ret = $return
 }
-%)
index 54975819d616aa63cb980f7730f1f5f942e0bb83..6700bdf9f2d11e7fb1bcb236260b2ae9a3d21519 100755 (executable)
@@ -1,4 +1,4 @@
-#! stap -up4
+#! stap -p4
 probe generic.fop.llseek
 {
        print("Probe hit the function: %s\n", name);
This page took 0.040564 seconds and 5 git commands to generate.