diff options
Diffstat (limited to 'tapset')
-rw-r--r-- | tapset/ioscheduler.stp | 16 | ||||
-rw-r--r-- | tapset/irq.stp | 16 | ||||
-rw-r--r-- | tapset/linuxmib.stp | 4 | ||||
-rw-r--r-- | tapset/scheduler.stp | 7 | ||||
-rw-r--r-- | tapset/tcpmib.stp | 16 | ||||
-rw-r--r-- | tapset/tty.stp | 34 |
6 files changed, 71 insertions, 22 deletions
diff --git a/tapset/ioscheduler.stp b/tapset/ioscheduler.stp index 7f26cf23..9b353577 100644 --- a/tapset/ioscheduler.stp +++ b/tapset/ioscheduler.stp @@ -155,7 +155,7 @@ probe ioscheduler.elv_completed_request * */ probe ioscheduler.elv_add_request.tp - = kernel.trace("block_rq_insert") + = kernel.trace("block_rq_insert") ? { q = $q elevator_name = kernel_string($q->elevator->elevator_type->elevator_name) @@ -197,7 +197,7 @@ probe ioscheduler.elv_add_request = * */ probe ioscheduler_trace.elv_completed_request - = kernel.trace("block_rq_complete") + = kernel.trace("block_rq_complete") ? { elevator_name = kernel_string($q->elevator->elevator_type->elevator_name) rq = $rq @@ -224,7 +224,7 @@ rq_flags = $rq==0? 0:$rq->cmd_flags * */ probe ioscheduler_trace.elv_issue_request - = kernel.trace("block_rq_issue") + = kernel.trace("block_rq_issue") ? { elevator_name = kernel_string($q->elevator->elevator_type->elevator_name) rq = $rq @@ -251,7 +251,7 @@ rq_flags = $rq==0? 0:$rq->cmd_flags * */ probe ioscheduler_trace.elv_requeue_request - = kernel.trace("block_rq_requeue") + = kernel.trace("block_rq_requeue") ? { elevator_name = kernel_string($q->elevator->elevator_type->elevator_name) rq = $rq @@ -277,7 +277,7 @@ rq_flags = $rq==0? 0:$rq->cmd_flags * */ probe ioscheduler_trace.elv_abort_request - = kernel.trace("block_rq_abort") + = kernel.trace("block_rq_abort") ? { elevator_name = kernel_string($q->elevator->elevator_type->elevator_name) rq = $rq @@ -299,7 +299,7 @@ rq_flags = $rq==0? 0:$rq->cmd_flags * @rq_queue : request queue * */ -probe ioscheduler_trace.plug = kernel.trace("block_plug") +probe ioscheduler_trace.plug = kernel.trace("block_plug") ? { rq_queue = $q } @@ -311,7 +311,7 @@ probe ioscheduler_trace.plug = kernel.trace("block_plug") * @rq_queue : request queue * */ -probe ioscheduler_trace.unplug_io = kernel.trace("block_unplug_io") +probe ioscheduler_trace.unplug_io = kernel.trace("block_unplug_io") ? { rq_queue = $q } @@ -322,7 +322,7 @@ probe ioscheduler_trace.unplug_io = kernel.trace("block_unplug_io") * @rq_queue : request queue * */ -probe ioscheduler_trace.unplug_timer = kernel.trace("block_unplug_timer") +probe ioscheduler_trace.unplug_timer = kernel.trace("block_unplug_timer") ? { rq_queue = $q } diff --git a/tapset/irq.stp b/tapset/irq.stp index 6a9b9147..5d919659 100644 --- a/tapset/irq.stp +++ b/tapset/irq.stp @@ -17,7 +17,7 @@ * @wq_thread : task_struct of the workqueue thread. * @cpu : cpu for which the worker thread is created. */ -probe workqueue.create = kernel.trace("workqueue_creation") +probe workqueue.create = kernel.trace("workqueue_creation") ? { wq_thread = $wq_thread cpu = $cpu @@ -29,7 +29,7 @@ probe workqueue.create = kernel.trace("workqueue_creation") * @work : work_struct* being queued. * @work_func : pointer to handler func. */ -probe workqueue.insert = kernel.trace("workqueue_insertion") +probe workqueue.insert = kernel.trace("workqueue_insertion") ? { wq_thread = $wq_thread work = $work @@ -42,7 +42,7 @@ probe workqueue.insert = kernel.trace("workqueue_insertion") * @work : work_struct* being executed. * @work_func : pointer to handler func. */ -probe workqueue.execute = kernel.trace("workqueue_execution") +probe workqueue.execute = kernel.trace("workqueue_execution") ? { wq_thread = $wq_thread work = $work @@ -53,7 +53,7 @@ probe workqueue.execute = kernel.trace("workqueue_execution") * probe workqueue.destroy : probes destruction of each worker thread of each cpu for a workqueue. * @wq_thread : task_struct of the workqueue thread. */ -probe workqueue.destroy = kernel.trace("workqueue_destruction") +probe workqueue.destroy = kernel.trace("workqueue_destruction") ? { wq_thread = $wq_thread } @@ -84,7 +84,7 @@ probe workqueue.destroy = kernel.trace("workqueue_destruction") * @thread : thread pointer for threaded interrupts. * @thread_flags : Flags related to thread. */ -probe irq_handler.entry = kernel.trace("irq_handler_entry") +probe irq_handler.entry = kernel.trace("irq_handler_entry") ? { irq = $irq action = $action @@ -125,7 +125,7 @@ probe irq_handler.entry = kernel.trace("irq_handler_entry") * @thread : thread pointer for threaded interrupts. * @thread_flags : Flags related to thread. */ -probe irq_handler.exit = kernel.trace("irq_handler_exit") +probe irq_handler.exit = kernel.trace("irq_handler_exit") ? { irq = $irq action = $action @@ -150,7 +150,7 @@ probe irq_handler.exit = kernel.trace("irq_handler_exit") * @vec : softirq_action vector. * @action : pointer to softirq handler just about to execute. */ -probe softirq.entry = kernel.trace("softirq_entry") +probe softirq.entry = kernel.trace("softirq_entry") ? { h = $h vec = $vec @@ -164,7 +164,7 @@ probe softirq.entry = kernel.trace("softirq_entry") * @vec : softirq_action vector. * @action : pointer to softirq handler that just finished execution. */ -probe softirq.exit = kernel.trace("softirq_exit") +probe softirq.exit = kernel.trace("softirq_exit") ? { h = $h vec = $vec diff --git a/tapset/linuxmib.stp b/tapset/linuxmib.stp index e19755a9..90145b62 100644 --- a/tapset/linuxmib.stp +++ b/tapset/linuxmib.stp @@ -94,7 +94,11 @@ probe linuxmib.ListenDrops=kernel.function("tcp_v4_syn_recv_sock").return */ probe linuxmib.TCPMemoryPressures=kernel.function("tcp_enter_memory_pressure") { +%( kernel_v >= "2.6.27" %? sk = $sk +%: + sk = 0; +%) op = 1; if ( $tcp_memory_pressure ) next key = linuxmib_filter_key(sk,op); diff --git a/tapset/scheduler.stp b/tapset/scheduler.stp index 324aa769..1610dc0a 100644 --- a/tapset/scheduler.stp +++ b/tapset/scheduler.stp @@ -285,7 +285,11 @@ 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 +%) } probe __scheduler.migrate.tp = kernel.trace("sched_migrate_task") { @@ -384,7 +388,8 @@ probe scheduler.process_fork * @pid: pid of the process sending signal * @signal_number: signal number */ -probe __scheduler.signal_send.kp = kernel.function("__send_signal") +probe __scheduler.signal_send.kp = kernel.function("__send_signal") !, + kernel.function("send_signal") { pid = $t->tgid } diff --git a/tapset/tcpmib.stp b/tapset/tcpmib.stp index 8b443309..497fb7dd 100644 --- a/tapset/tcpmib.stp +++ b/tapset/tcpmib.stp @@ -99,6 +99,16 @@ function tcpmib_remote_port:long(sk:long) CATCH_DEREF_FAULT(); %} +function tcpmib_filter_key:long (sk:long, op:long) { + // ensure all these functions will build + if ( tcpmib_get_state(sk) ) return 0 + if ( tcpmib_local_addr(sk) ) return 0 + if ( tcpmib_remote_addr(sk) ) return 0 + if ( tcpmib_local_port(sk) ) return 0 + if ( tcpmib_remote_port(sk) ) return 0 + return op +} + /** * probe tcpmib.ActiveOpens - Count an active opening of a socket. * @sk: Pointer to the struct sock being acted on. @@ -209,7 +219,7 @@ tcpmib.EstabResets=kernel.function("tcp_set_state") * */ probe -tcpmib.InSegs=kernel.function("__inet_lookup_established").return +tcpmib.InSegs=kernel.function("__inet_lookup_established").return ? { sk=$return op=1 @@ -292,7 +302,11 @@ function __tcpmib_input_route_type_new:long (skb:long) probe tcpmib.OutRsts.A=kernel.function("tcp_v4_send_reset") { +%( kernel_v >= "2.6.20" %? sk = $sk; +%: + sk = 0; +%) skb = $skb op = 1; if ( _is_reset(skb) ) next diff --git a/tapset/tty.stp b/tapset/tty.stp index f6ce8ea9..2c4507d2 100644 --- a/tapset/tty.stp +++ b/tapset/tty.stp @@ -22,7 +22,11 @@ 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_mode = $filp->f_mode file_flags = $filp->f_flags } @@ -41,7 +45,11 @@ 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_mode = $filp->f_mode file_flags = $filp->f_flags } @@ -58,7 +66,7 @@ probe tty.release = kernel.function("tty_release") { * @new_ypixel: the new ypixel value * @new_xpixel: the new xpixel value */ -probe tty.resize = kernel.function("tty_do_resize"){ +probe tty.resize = kernel.function("tty_do_resize") ? { name = kernel_string($tty->name) old_row = $tty->winsize->ws_row old_col = $tty->winsize->ws_col @@ -78,7 +86,11 @@ 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) +%) cmd = $cmd arg = $arg @@ -90,7 +102,7 @@ probe tty.ioctl = kernel.function("tty_ioctl"){ * @name: the driver .dev_name name * @module: the module name */ -probe tty.init = kernel.function("tty_init_dev"){ +probe tty.init = kernel.function("tty_init_dev") ? { driver_name = kernel_string($driver->driver_name) name = kernel_string($driver->name) module = kernel_string($driver->owner->name) @@ -130,11 +142,17 @@ 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 } @@ -166,11 +184,15 @@ probe tty.receive = kernel.function("n_tty_receive_buf"){ * @driver_name: the driver name * @file_name: the file name lreated to the tty */ -probe tty.write = kernel.function("n_tty_write"){ +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) +%) driver_name = kernel_string($tty->driver->driver_name) } @@ -181,9 +203,13 @@ probe tty.write = kernel.function("n_tty_write"){ * @driver_name: the driver name * @file_name: the file name lreated to the tty */ -probe tty.read = kernel.function("n_tty_read"){ +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) +%) driver_name = kernel_string($tty->driver->driver_name) } |