summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Regenerate examples index to include new memory/vm.tracepoints.stp.Mark Wielaard2009-12-304-1/+63
|
* Fixup some memory tapset vm kernel function probe fallbacks.Mark Wielaard2009-12-293-20/+53
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Remove all caching from _stp_module_relocate.Mark Wielaard2009-12-291-38/+13
| | | | | | | | | | | This function now also does user space address relocation. The connection with module loading/unloading was removed in commit 1b94bf which made all symbol tables emitted at compile time. _stp_module_relocate is called from the dwarf unwinder, and when doing some of the symbol lookup through dwflpp::emit_adress now. * runtime/sym.c (_stp_module_relocate): Remove last, last_sec and last_tsk caching and invalidation code.
* 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.
* Set last_tsk in runtime/sym.c _stp_module_relocate.Mark Wielaard2009-12-291-0/+1
| | | | last_tsk was checked but never set. Noticed by Wenji Huang.
* Extend skipped.exp test timeout for slower machines.Mark Wielaard2009-12-281-1/+1
|
* Fix test output for PR10849 make MAXSKIPPED overflow trigger an error messageMark Wielaard2009-12-281-5/+8
|
* 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.
* XFAIL PR10732 declaration.exp empty-struct always fails.Mark Wielaard2009-12-281-0/+1
|
* Merge remote branch 'origin/master'Tim Moore2009-12-2351-5344/+7337
|\
| * ppc stack: transcribe portions of modern kernel ppc/.../asm/ptrace.hFrank Ch. Eigler2009-12-221-0/+18
| | | | | | | | | | * runtime/stack-ppc.c (__stp_stack_print): Define STACK_FRAME_LR_SAVE, STACK_FRAME_REGS_MARKER,STACK_FRAME_MARKER, etc.
| * sdt.h semaphore: use get_user / put_user instead of __access_process_vm.Frank Ch. Eigler2009-12-223-19/+14
| | | | | | | | | | | | * translate.cxx (translate_pass): Don't #include <access_blah.> * tapsets.cxx, tapset-utrace.cxx: Replace __access_process_vm() calls with get_user() / put_user() respectively.
| * AUTHORS bumpJosh Stone2009-12-221-0/+2
| |
| * Fixed ia64 compile problem with runtime/stack-ia64.c.David Smith2009-12-221-1/+2
| | | | | | | | * runtime/stack-ia64.c (__stp_stack_print): Added new 'ri' parameter.
| * Updates to SCSI tapset scsi.stp and corresponding testcasesAndre Detsch2009-12-222-30/+139
| |
| * 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-222-0/+268
| | | | | | | | that got left out in earlier commit 0c487e433fd6343e49b1e9dbc6492f38cfe26143.
| * Fixed compilation on f11.David Smith2009-12-211-0/+1
| | | | | | | | * runtime/task_finder.c: Fixed last checkin.
| * Incremented version number for release 1.1.David Smith2009-12-2113-3797/+5017
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * NEWS: Set version number. * configure.ac: Incremented version number. * systemtap.spec: Incremented version number and added changelog entry. * testsuite/configure.ac: Ditto. * Makefile.in: Regenerated. * aclocal.m4: Ditto. * configure: Ditto. * doc/Makefile.in: Ditto. * doc/SystemTap_Tapset_Reference/Makefile.in: Ditto. * grapher/Makefile.in: Ditto. * testsuite/Makefile.in: Ditto. * testsuite/aclocal.m4: Ditto. * testsuite/configure: Ditto.
| * PR11113 fix. Support new utrace API.David Smith2009-12-214-4/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tapset-utrace.cxx (utrace_derived_probe_group::emit_module_decls): Handles new utrace api. * runtime/itrace.c (usr_itrace_report_signal): Ditto. (usr_itrace_report_clone): Ditto. (usr_itrace_report_death): Ditto. * runtime/task_finder.c (__stp_utrace_task_finder_report_clone): Ditto. (__stp_utrace_task_finder_report_exec): Ditto. (__stap_utrace_task_finder_report_death): Ditto. (__stp_utrace_task_finder_target_death): Ditto. (__stp_utrace_task_finder_target_quiesce): Ditto. (__stp_utrace_task_finder_target_syscall_entry): Ditto. (__stp_utrace_task_finder_target_syscall_exit): Ditto. * runtime/uprobes2/uprobes.c (uprobe_report_signal): Ditto. (uprobe_report_quiesce): Ditto. (uprobe_report_exit): Ditto. (uprobe_report_clone): Ditto. (uprobe_report_exec): Ditto.
| * PR11112: Check the full %m/M buffer, and limit the lengthJosh Stone2009-12-211-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already had code in place to try a deref on the requested memory buffer, but it was missing the static-precision case. Thus, it was possible to craft an address that would pass the check on the first byte but would pagefault at the end of the buffer. While we're at it, we should also be limiting the number of bytes in such a read, so even legitimately-huge buffers won't chew up kernel time. I've arbitrarily chosen 1024 as the limit, but we can revisit that later. (see also PR10490) TODO: we need a reliable testcase where a starting address is valid but the end address is bogus. In PR11112, the reproducer was using a huge precision to run off the heap, but we need something that will consistently work even with <1024 length.
| * NEWS entry for client/server/cert tools reorg.Dave Brolley2009-12-211-0/+14
| |
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-215-32/+80
| |\
| | * Cleanup in testsuite/system.appsStan Cox2009-12-213-19/+40
| | | | | | | | | | | | | | | | | | * mysql.exp (stap-mysql.sh): Shutdown properly. * xulrunner.exp: Run depending on SYSTEMTAP_TESTAPPS env (stap-xul.sh): Fix xulrelease. Add mozjs-dtrace.o to js link line.
| | * PR11038 Trailing semicolon as null-statement confusing.Mark Wielaard2009-12-212-13/+40
| | | | | | | | | | | | | | | | | | * parse.cxx (parser::parse_statement): Squash semicolon after non-block-like statements. * testsuite/buildok/semicolon.stp: New test.
| * | Typo: @bindir -> @bindir@Dave Brolley2009-12-211-1/+1
| | |
| * | PR 10905: initscript improvements.Dave Brolley2009-12-219-1345/+1402
| | | | | | | | | | | | | | | | | | Make the stap-server initscript available as $bindir/stap-server Reimplement the stap-server initscript as a thin wrapper around $bindir/stap-server.
| * | Make sure we log server activity when testing using a server.Dave Brolley2009-12-211-1/+10
| | |
| * | Get PATH correct for fidning libexec tools for installcheck.Dave Brolley2009-12-211-4/+4
| | |
| * | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-2135-1568/+2075
| |\|
| | * PR10601: cleanup for i386, x86-64Frank Ch. Eigler2009-12-211-7/+16
| | | | | | | | | | | | | | | | | | * runtime/loc2c-runtime.h (usr_i386): Fix si/di ordering. Add ip. (usr_x86_64): Add rip. (u_*_register): Use kernel standard ARRAY_SIZE() instead of S().
| | * Merge remote branch 'origin/master'Tim Moore2009-12-2111-83/+269
| | |\
| | | * PR11015 Support shared library reloading (in different processes)Mark Wielaard2009-12-218-83/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| | | * Tracepoint based tapset for memory subsystem.Rajasekhar Duddu2009-12-213-0/+62
| | | |
| * | | Look for stap-start-server and stap-stop-server in libexec.Dave Brolley2009-12-211-2/+2
| | | |
| * | | Typos in install and rpm spec.Dave Brolley2009-12-213-5/+5
| | | | | | | | | | | | | | | | | | | | o add / suffix to stap_pkglibexecdir o typo: %{name%} -> %{name}
| * | | Install %{libexecdir}/%{name}/stapio explicitely.Dave Brolley2009-12-211-0/+1
| | | |
| * | | Don't install the entire %{libexecdir}/%{name} directory.Dave Brolley2009-12-211-1/+0
| | | |
| * | | PR 10247, 10276, 10905: Move remaining client/server tools to libexec.Dave Brolley2009-12-2112-88/+92
| | | |
| * | | Some tools (temporarily) still in $bindir.Dave Brolley2009-12-181-2/+2
| | | |
| * | | s/pkglibexecdir/libexecdir/systemtap/Dave Brolley2009-12-181-1/+1
| | | |
| * | | PR 10247 10276 10905: Infrastructure for moving underlying client/server ↵Dave Brolley2009-12-1815-46/+76
| | | | | | | | | | | | | | | | tools to libexec.
* | | | grapher: remove _zoomFactor from horizontal scaling calculationTim Moore2009-12-233-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes zooming more consistent and less buggy. * grapher/Graph.cxx (Graph::draw): Set graph time spread using _zoomFactor. * grapher/Graph.hxx (Graph::getHorizontalScale): no _zoomFactor * grapher/GraphWidget.cxx (on_motion_notify_event): Dragging increment uses _zoomFactor. (on_scroll_event): Set extents after changing the zoom factor with the scroll wheel.
* | | | grapher: scale from right end of graphTim Moore2009-12-233-28/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The right side of the graph represents the most recent time. Since there is never anything interesting to the right of that, it makes sense to have the origin of the scaling be there. * grapher/Graph.hxx (getHorizontalScale): new function * grapher/GraphStyle.cxx (GraphStyleBar::draw, GraphStyleDot::draw, GraphStyleEvent::draw): Use cairo transform functions to set up scaling. (GraphStyleBar::dataIndexAtPoint, GraphStyleEvent::dataIndexAtPoint): Base calculations on scaling from right.
* | | | grapher: fix bug in looking up event under pointerTim Moore2009-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't why I thought this ever worked. * grapher/GraphStyle.cxx (GraphStyleEvent::dataIndexAtPoint): return distance from beginning of buffer, not beginning of search bounds.
* | | | don't assume buffer passed to pty_write is null terminatedTim Moore2009-12-231-7/+3
| | | | | | | | | | | | | | | | | | | | * testsuite/systemtap.examples/general/grapher.stp: Use kernel_char instead of kernel_string to dig characters out of buffer.
* | | | grapher: draw axes on multiples of the axis "major unit"Tim Moore2009-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | * grapher/Graph.cxx (Graph::draw): Make axis values end up on multiples of majorUnit.
* | | | grapher: scroll continuously with timeTim Moore2009-12-235-70/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't scale graph based on how much data will fit. This didn't work very well and resulted in distracting, weird scale changes. We now assume that scripts output their time (x axis) in milliseconds. * grapher/Graph.hxx (setCurrentTime): New function. * grapher/Graph.cxx (Graph::draw): Assume a fixed default scale of 1 pixel = 5 milliseconds and don't do any autoscaling. * grapher/GraphWidget.cxx (GraphWidget constructor): Set global time base on startup. (on_expose_event): Don't search graphs for earliest time. * grapher/GraphWidget.hxx (_timeBaseInitialized): delete * grapher/Time.hxx: new file; interface to timeval.
* | | | PR11015 Support shared library reloading (in different processes)Mark Wielaard2009-12-228-83/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | Tracepoint based tapset for memory subsystem.Rajasekhar Duddu2009-12-223-0/+62
| |/ / |/| |