summaryrefslogtreecommitdiffstats
path: root/tapset
Commit message (Collapse)AuthorAgeFilesLines
* The rpc buildok test suite probe breaks with new kernelsnfsd-updateSteve Dickson2010-03-161-2/+21
| | | | | | | | | | | With newer kernels the rpc_release_task() routine is not defined because it becomes inline since its only called once. Plus the task allocation routines have changed so the arguments no longer match up with previous routines. So this patch uses the kernel_v clauses to allow the original functionality with older kernels and not to break on new kernels. Signed-off-by: Steve Dickson <steved@redhat.com>
* Backport recently added probes to RHEL5(U5)Steve Dickson2010-03-043-51/+79
| | | | | | | | Ensured the recent additions of v4 probes and supporting routines worked or at least don't break with RHEL5 U5 kernels (this time without kernel version checks). Signed-off-by: Steve Dickson <steved@redhat.com>
* Revert "Backport recently added probes to RHEL5(U5)"Steve Dickson2010-03-043-119/+51
| | | | | | | This reverts commit 35f22bd95cea2fb75573a27282f2a5edea84f2d7 beause kernel_v kernel checks should not be used. Signed-off-by: Steve Dickson <steved@redhat.com>
* Backport recently added probes to RHEL5(U5)Steve Dickson2010-03-043-51/+119
| | | | | | | Ensured the recent additions of v4 probes and supporting routines worked or at least don't break with RHEL5 U5 kernel. Signed-off-by: Steve Dickson <steved@redhat.com>
* Revert "Backport recent changes to RHEL5 (U5)"Steve Dickson2010-03-033-53/+18
| | | | | | This commit causes the 2.6.33 probes to break This reverts commit 3ca4e3f2f5a7a615d0aed00a242f4e30864deaa8.
* Backport recent changes to RHEL5 (U5)Steve Dickson2010-03-033-18/+53
| | | | | | | Ensured the recent additions of v4 probes and supporting routines worked with RHEL5 U5 kernel. Signed-off-by: Steve Dickson <steved@redhat.com>
* Incorporated comments from code reviewSteve Dickson2010-03-021-40/+53
| | | | | | | | - Fixed a couple typos - To allow better optimization, removed the used of "convenience variables" Signed-off-by: Steve Dickson <steved@redhat.com>
* Allow better filtering with IP address and File handleSteve Dickson2010-02-232-23/+122
| | | | | | | | | | | | | | | To allow filtering by the client's IP address, the addr_from_rqst_str() function was added which extracts the IP address from incoming procedures and converts them into a character string. Calls to addr_from_rqst_str() were added to the top of each probe so callers of the probes can use the IP addresses as a filter. Calls to __svc_fh() were also sprinkled were needed so callers can also filter on file handles Signed-off-by: Steve Dickson <steved@redhat.com>
* General clean up on the upper level probesSteve Dickson2010-02-231-23/+67
| | | | | | | | | | Added the ftype() function which converts file types into character strings Added calls nfsderror() to the return probes that will display errors in character strings Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed the nfsd.proc4.compound and nfsd.proc.compound.return probesSteve Dickson2010-02-231-38/+0
| | | | | | | Either probes displayed anything that was useful, plus there are other ways to display similar information. Signed-off-by: Steve Dickson <steved@redhat.com>
* Updated nfsd.proc.remove probesSteve Dickson2010-02-231-11/+39
| | | | | | | | | Converted the nfsd.proc.remove probes to used the @cast() mechanism. Created the nfsd.proc4.remove probes Signed-off-by: Steve Dickson <steved@redhat.com>
* Updated nfsd.proc.remove probesSteve Dickson2010-02-231-7/+31
| | | | | | | | | Converted the nfsd.proc.remove probes to used the @cast() mechanism. Created the nfsd.proc4.remove probes Signed-off-by: Steve Dickson <steved@redhat.com>
* Updated nfsd.proc.create probesSteve Dickson2010-02-231-8/+97
| | | | | | | | | Converted the nfsd.proc.create probes to used the @cast() mechanism. Created the nfsd.proc4.create probes Signed-off-by: Steve Dickson <steved@redhat.com>
* Updated nfsd.proc.write probesSteve Dickson2010-02-231-20/+74
| | | | | | | | | Converted the nfsd.proc.write probes to used the @cast() mechanism. Created the nfsd.proc4.write probes Signed-off-by: Steve Dickson <steved@redhat.com>
* Updated nfsd.proc.read probesSteve Dickson2010-02-231-12/+41
| | | | | | | | | Converted the nfsd.proc.read probes to used the @cast() mechanism. Created the nfsd.proc4.read probes Signed-off-by: Steve Dickson <steved@redhat.com>
* Updated nfsd.proc.lookup probesSteve Dickson2010-02-231-79/+30
| | | | | | | | | Converted the nfsd.proc.lookup probes to used the @cast() mechanism. Created the nfsd.proc4.lookup probes Signed-off-by: Steve Dickson <steved@redhat.com>
* Added new nfsderror() functionSteve Dickson2010-02-231-0/+238
| | | | | | | | The nfsderror() function takes the error numbers used by the NFS server and converts them into a text representation of the given error number. Signed-off-by: Steve Dickson <steved@redhat.com>
* Use clamping to more easily normalize input valuesJosh Stone2010-02-162-12/+9
| | | | | | The kernel has min/max/clamp macros to make range comparisons easier. Clamp is a newer invention, but we can define it for older kernels in terms of min and max.
* Add documentation for task.stp tapset.Mark Wielaard2010-02-151-34/+104
|
* rhbz#563114 Make syscall.pipe sys32_pipe probe alias optional on x86_64.Mark Wielaard2010-02-091-5/+3
| | | | | | | | | Some distributions might have backported the pipe fd leak patch and removed the sys32_pipe kernel function even before 2.6.32. So make the probe alias optional instead of relying on a version check. * tapset/x86_64/syscalls.stp (syscall.pipe): Make alias optional. (syscall.pipe.return): Likewise.
* Added backports required for 2.6.18 kernel for RHEL 5.David J. Wilder2010-02-052-21/+52
| | | | | | | Files changed: tapset/ipmib.stp, tapset.tcpmib.stp, testsuite/systemtap.examples/network/tcpipstat.stp, testsuite/systemtap.examples/network/tcp_trace.stp Signed-of-by: David Wilder <dwilder@us.ibm.com>
* PR11234: Rewrite __get_argv without embedded-CJosh Stone2010-02-041-115/+44
| | | | | | We now implement __get_argv's string building in pure stap script. Also, every argument is now quoted, which is different than before, but it's much more robust about handling special characters.
* Revert "PR11234: Ensure __get_argv doesn't overflow"Josh Stone2010-02-041-15/+11
| | | | This reverts commit f75409719f120a3dbee66d761cf23a64092d1414.
* Fix a incorrect UNKNOWN VALUE message creation in _sock_type_str functionPetr Muller2010-02-011-1/+1
|
* PR11234: Ensure __get_argv doesn't overflowJosh Stone2010-01-281-11/+15
| | | | | | | That function was calling strlcpy as if the return value was the number of bytes copied, but strlcpy actually returns the length of the input string. We now use min() to handle the case when it's bigger than the buffer length, and drop out of the loop when that happens.
* PR 11167 fixed by adding compat_sys_sigaction to the syscall.sigaction32 probe.David Smith2010-01-131-2/+4
| | | | | | * tapset/syscalls2.stp (syscall.sigaction32): Added kernel.function("compat_sys_sigaction"). (syscall.sigaction32.return): Ditto.
* Fix PR11160 by handling ppc syscall.sigaction32 correctly.David Smith2010-01-132-1/+45
| | | | | | | | | | * tapset/aux_syscalls.stp (_struct_old_sigaction32_u): New function. * tapset/syscalls2.stp (syscall.sigaction32): Uses new _struct_old_sigaction32() function to provide a human readable version of the sigaction argument. * testsuite/systemtap.syscall/test.tcl (run_one_test): Use additional C flags when pre-processing test files to better determine which tests are valid on which platforms.
* Fixed PR 11163 so that syscall.readv/syscall.writev puts fd in argstr for ppc.David Smith2010-01-122-21/+1
| | | | | | | | * tapset/syscalls2.stp (syscall.readv): Removed old ppc hack. (syscall.writev): Ditto. * tapset/nd_syscalls2.stp (nd_syscall.readv): Removed mention of old ppc hack. (nd_syscall.writev): Ditto.
* Fixed PR 11162 by removing extra 'buf_uaddr' assignment.David Smith2010-01-121-1/+0
| | | | | * tapset/syscalls2.stp (syscall.pwrite32): Remove extra 'buf_uaddr' assignment.
* Make probe syscall.mmap2 optionalWenji Huang2010-01-041-3/+3
| | | | The function sys32_mmap2 is removed since 2.6.33.
* Fixup some memory tapset vm kernel function probe fallbacks.Mark Wielaard2009-12-291-16/+43
| | | | | | | | | | | | | | | | | | | | | | | | | Older kernels don't have all GFP constants defined, and the fallback kernel function probe fallbacks don't have the same dwarf variable names as the kernel trace point probes. So replace them with variables that are available. bytes_alloc was sometimes a long and sometimes a string, this caused scripts to fail depending on which alternative was chosen for a particular kernel. So make it a long always. This isn't a full solution since kmalloc is always inlined which makes the kernel.function("kmalloc").return probe fail. * tapset/memory.stp: Define __GFP_THISNODE, __GFP_RECLAIMABLE, GFP_TEMPORARY, GFP_HIGHUSER_MOVABLE and GFP_THISNODE when not yet defined. (__vm.kmalloc.kp): Use $flags, not $gfp_flags. Set bytes_alloc equal to bytes_req. (__vm.kmem_cache_alloc.kp): Likewise. And use $cachep->buffer_size for bytes_req. (__vm.kmalloc_node.kp): Likewise. (__vm.kmem_cache_alloc_node.kp): Likewise. (__vm.kfree.kp): Use $ibjp for ptr, not $return. (__vm.kmem_cache_free.kp): Likewise. * testsuite/buildok/vm.tracepoints.stp: Move vm.kmalloc test to... * testsuite/buildok/vm.tracepoints.kmalloc.stp: ... here.
* Guard SDEV_BLOCK and SDEV_CREATED_BLOCK in tapset/scsi.stp with #ifdef.Mark Wielaard2009-12-291-0/+4
| | | | | Older kernels didn't define these constants, which are only used in the tapset/scsi.stp describe_device_state() function.
* Define __GFP_MOVABLE GFP_ZONEMASK __GFP_NOTRACK in memory.stp if not there.Mark Wielaard2009-12-281-0/+16
| | | | | Older kernels might not have these defines available, so define them if not yet there.
* Updates to SCSI tapset scsi.stp and corresponding testcasesAndre Detsch2009-12-221-18/+115
|
* Update tapset related to struct inet_sock for 2.6.33Wenji Huang2009-12-224-0/+40
| | | | | | | * tapset/inet_sock.stp : Add prefix "inet_" to field. * tapset/ip.stp : Ditto. * tapset/tcp.stp : Ditto. * tapset/tcpmib.stp : Ditto.
* Tracepoint based tapset for memory - changes to NEWS and tapset/memory.stp ↵Rajasekhar Duddu2009-12-221-0/+266
| | | | that got left out in earlier commit 0c487e433fd6343e49b1e9dbc6492f38cfe26143.
* PR11015 Support shared library reloading (in different processes)Mark Wielaard2009-12-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/task_finder_vma.c (stap_remove_vma_map_info): Return negative status on failure. (stap_find_vma_map_info): Likewise. (stap_find_vma_map_info_user): New function. (stap_drop_vma_maps): New function. * runtime/sym.h (addr): Renamed to static_addr, to store addresses for sections which are always mapped at the same address. (_stp_module_relocate): Add extra struct task_struct *tsk argument. * runtime/sym.c (_stp_tf_exec_cb): New callback, calls stap_drop_vma_maps. (_stp_tf_mmap_cb): Don't store address in module.section, but call stap_add_vma_map_info() per tsk->group_leader for matched module. Don't register empty/null modules. (_stp_module_relocate): Take extra struct task_struct *tsk argument, cache last tsk used. Only use section->static_addr for none dynamic modules. Use stap_find_vma_map_info_user() to locate dynamic modules. (_stp_mod_sec_lookup): Add extra argument unsigned long *rel_addr to optionally store relative address when module/section found. (_stp_kallsyms_lookup): Use _stp_mod_sec_lookup to find relative address. (_stp_sym_init): Register _stp_tf_exec_cb in stap_task_finder_target. Add error check to see if task finder could be initialized. * dwflpp.cxx (emit_address): Pass NULL for kernel/modules and current for user tasks to _stp_module_relocate. * runtime/transport/symbols.c (_stp_do_relocation): Set new static_addr _stp_section field. * runtime/unwind.c (adjustStartLoc): Take new struct task_struct *tsk argument and pass to stap_find_vma_map_info_user and _stp_module_relocate to find adjusted addr. (_stp_search_unwind_hdr): Pass through struct task_struct *tsk. (unwind_frame): Likewise. * tapset/context-symbols.stp (probemod): Add NULL to _stp_mod_sec_lookup call to indicate we aren't interested in relative address. * tapsets.cxx (dwarf_derived_probe_group::emit_module_init): Pass NULL to _stp_module_relocate to indicate kernel/module address.
* Remove blank line in ucontext-unwind.stp for SystemTap Tapset Reference ManualWilliam Cohen2009-12-171-1/+0
| | | | | | The automatic documentation extraction doesn't allow blank lines between the the comment and the actual code. Removed the problem blank line to allow the information to be extracted for the SystemTap Tapset Reference Manual.
* support for a brief backtrace formatTim Moore2009-12-171-0/+18
| | | | | | | | | | | | | | This only prints symbol+offset, or an address if the symbol isn't known. * runtime/runtime.h (SYM_VERBOSE_NO, SYM_VERBOSE_FULL, SYM_VERBOSE_BRIEF): new constants * runtime/stack.c (_stp_stack_print): support brief format * runtime/sym.c (_stp_func_print): ditto * tapset/ucontext-unwind.stp (print_ubacktrace_brief): new function * testsuite/systemtap.context/fib.c: new test program * testsuite/systemtap.context/fib.stp: new test * testsuite/systemtap.context/fib.exp: new test
* set the IP in return probes to the returned-to instructionTim Moore2009-12-162-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | It's easily available in kretprobes and uretprobes and is consistent with the rest of the program state. * translate.cxx (emit_common_header) : add uretprobe_instance to context. * tapsets.cxx (common_probe_entryfn_prologue): Initialize ri in context to 0. (dwarf_derived_probe_group::emit_module_decls): Change IP to return address in kretprobes. (uprobe_derived_probe_group::emit_module_decls): enter_uretprobe_probe: set ri (uretprobe_instance) in context. Change IP to return address in uretprobes. Don't emit uprobe include and #define * runtime/runtime.h : Add includes and #define for uprobes. * runtime/stack.c (_stp_stack_print, _stp_stack_snprint): Add extra argument for uretprobe_instance. * tapset/context-unwind.stp (print_backtrace, backtrace): Pass NULL for uretprobe_instance to _stp_stack_print. * tapset/ucontext-unwind.stp (print_ubacktrace, ubacktrace): pass uretprobe_instance to _stp_stack_print * testsuite/systemtap.context/uprobe_uaddr.exp : new test for uaddr in function probes * testsuite/systemtap.context/uprobe_uaddr.stp : new file
* Fix regression introduced by commit 379c585Wenji Huang2009-12-071-10/+1
|
* Make tapset and tests compatible with old kernelWenji Huang2009-12-026-22/+71
| | | | | | | | | | | | | * tapset/ioscheduler.stp : Make probe optional. * tapset/irq.stp : Ditto. * tapset/scheduler.stp : Ditto. * tapset/tcpmib.stp : Ditto. * tapset/linuxmib.stp : Switch variable by version. * tapset/tty.stp : Ditto. * testsuite/buildok/irq.stp : Make probe test optional. * testsuite/buildok/tty.stp : Ditto. * testsuite/systemtap.examples/network/netdev.stp : Ditto. * testsuite/buildok/tcpmib-all-probes.stp : Add embedded functions.
* Share ppc64 and ppc32 code where possibleAnton Vorontsov2009-12-012-2/+2
| | | | | | | | | | * runtime/copy.c: Can use ppc64's code. * runtime/regs.h: Ditto. * runtime/string.h: Ditto. * tapset/context.stp: Ditto. * tapset/errno.stp: Ditto. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
* Implement ppc32 variant of __is_user_regsAnton Vorontsov2009-12-012-0/+6
| | | | | | | * tapset/nd_syscalls.stp: Implement ppc32 variant of __is_user_regs. * tapset/syscalls.stp: Ditto. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
* Convert string.stp documentation to standard markup.Mark Wielaard2009-12-011-53/+76
| | | | | | * doc/SystemTap_Tapset_Reference/tapsets.tmpl: Add string.stp chapter. * tapset/string.stp: Convert documentation to standard markup and add documentation that was missing.
* Fix typo in scheduler tapsetWenji Huang2009-12-011-1/+1
| | | | | * tapset/scheduler.stp (__scheduler.kthread_stop.kp): Change priority to prio.
* Fixed tapset reference manual generation.David Smith2009-11-231-1/+1
| | | | | | | * doc/SystemTap_Tapset_Reference/Makefile.am: Check for file existence before doing compare. * doc/SystemTap_Tapset_Reference/Makefile.in: Regenerated. * tapset/ioblock.stp: Fixed comment so that docs can be built.
* Correct tapset/ioscheduler.stp so documentation builds.William Cohen2009-11-231-6/+6
|
* Correct block IO and IO scheduler tapset and test caseWenji Huang2009-11-231-8/+1
| | | | | | * tapset/ioblock.stp: Update comment and variables. * testsuite/buildok/ioblock_test.stp: Add parameters. * testsuite/buildok/ioscheduler.stp: Remove redundant parameters.
* Added tracepoint-based probes to block IO and IO scheduler tapsets.Prerna Saxena2009-11-222-50/+362
| | | | | Added testcases for these probes. Also, modified comments in ioblock.stp so that tapset docmentation can be automatically generated for this tapset.