This is the mail archive of the
systemtap-cvs@sourceware.org
mailing list for the systemtap project.
[SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-0.9-71-gcb481ce
- From: jistone at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 7 Mar 2009 03:52:03 -0000
- Subject: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-0.9-71-gcb481ce
- Reply-to: systemtap at sourceware dot org
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".
The branch, master has been updated
via cb481ce9062cf0175bf5a86ef91bf45e7885162e (commit)
via bc724b8b2ee799f23a64aee42d5e439d1666ecaa (commit)
via ddc5ee5a548c8c945b63d9e3076efb12272d2617 (commit)
via d99d881952436f5b01364b8f31b1bc90c22a1444 (commit)
via f8a968bccd1e71f2e8f486e60ff95a4d718a6332 (commit)
via 6fb70fb7915c3f5f7352e5393efb859b70e6f3fc (commit)
via 79189b84b112484901e5ee6b84a334da24791128 (commit)
via 75ead1f7f65c280a7a068e562dbb7b751f1f0de4 (commit)
via 0a6f5a3f0c2ecfb8b4a416dd07d5b976daf79551 (commit)
via 2da9cedbf2a1916107fe829692af5113646a894d (commit)
via dd22832afe6c337eb020001834266ad1e7678b2c (commit)
from 730aaa7ac9847816d4dbb3ebef039add3b5a82a7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit cb481ce9062cf0175bf5a86ef91bf45e7885162e
Merge: 730aaa7ac9847816d4dbb3ebef039add3b5a82a7 bc724b8b2ee799f23a64aee42d5e439d1666ecaa
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 6 19:43:28 2009 -0800
Merge branch 'tracepoints'
commit bc724b8b2ee799f23a64aee42d5e439d1666ecaa
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 6 19:36:05 2009 -0800
Document TRACEPOINTS in stapprobes(5)
commit ddc5ee5a548c8c945b63d9e3076efb12272d2617
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 6 19:30:39 2009 -0800
Ensure tracepoints are synchronized after unreg
The tracepoint API provides tracepoint_synchronize_unregister() as a way
to guarantee that all tracepoint handlers are inactive. This is
necessary after unregistering to allow the module to safely unload.
* tapsets.cxx (tracepoint_derived_probe_group::emit_module_init):
Call synchronize after unregistering tracepoints.
(tracepoint_derived_probe_group::emit_module_exit): Ditto.
commit d99d881952436f5b01364b8f31b1bc90c22a1444
Author: Josh Stone <jistone@redhat.com>
Date: Fri Mar 6 15:44:50 2009 -0800
Support older tracepoints using DEFINE_TRACE
At one point, the tracepoints API didn't have DECLARE_TRACE, and the
trace headers all used DEFINE_TRACE. This is what got pulled into RHEL,
so we need to support this older usage. The rest of the API stays the
same though.
* buildrun.cxx (make_tracequery): Redefine DEFINE_TRACE as well.
commit f8a968bccd1e71f2e8f486e60ff95a4d718a6332
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 4 21:07:54 2009 -0800
Enable tracepoint target variables
This uses a similar mechanism as marker probes for storing target
variables in locals of the probe body.
* tapsets.cxx (tracepoint_arg): Add fields to help $target access.
(tracepoint_var_expanding_visitor): Expand code to access target
variables - a $target for each tracepoint parameter, as well as
the special $$name and $$vars.
(tracepoint_derived_probe::tracepoint_derived_probe): Expand targets
(resolve_tracepoint_arg_type): Determine if a parameter is a type
that we can dereference, and store the underlying type.
(tracepoint_derived_probe::build_args): Resolve the types.
(tracepoint_derived_probe::emit_probe_context_vars): Emit $target
placeholders into the locals of the probe body.
(tracepoint_derived_probe_group::emit_module_decls): Initialize
$targets from the entry point parameters.
commit 6fb70fb7915c3f5f7352e5393efb859b70e6f3fc
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 4 20:32:22 2009 -0800
Emit code to hook up tracepoint probes
* tapsets.cxx (tracepoint_arg): New
(tracepoint_derived_probe): Add declaring header name and arg vector
(dwarf_type_name): Build a type string for a given type DIE
(tracepoint_derived_probe::build_args): Scan the function DIE for
the name and type of formal parameters required by the tracepoint.
(tracepoint_derived_probe::tracepoint_derived_probe): Call
build_args and determine the relevant header to include.
(tracepoint_derived_probe_group::emit_module_decls): For each
tracepoint, include its header and declare a probe entry point with
the right function signature.
(tracepoint_derived_probe_group::emit_module_init): Call the
registration for each tracepoint, and handle error unwinding.
(tracepoint_derived_probe_group::emit_module_exit): Unregister each.
commit 79189b84b112484901e5ee6b84a334da24791128
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 4 20:17:38 2009 -0800
Build skeleton tracepoint probes
* tapsets.cxx (tracepoint_derived_probe): Create a skeleton probe
(tracepoint_derived_probe_group): Create a skeleton group
(tracepoint_query::handle_query_func): build a probe
commit 75ead1f7f65c280a7a068e562dbb7b751f1f0de4
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 4 19:56:02 2009 -0800
Scan tracequery.ko for tracepoints
* tapsets.cxx (tracepoint_query): Iterate over the modules, CUs, and
functions in tracequery.ko looking for our hijacked tracepoint
declarations.
(tracepoint_builder::build): Run a tracepoint_query
commit 0a6f5a3f0c2ecfb8b4a416dd07d5b976daf79551
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 4 19:32:25 2009 -0800
Build tracequery to scan for tracepoints
* session.h (systemtap_session): add tracepoint_derived_probes
* buildrun.cxx (make_tracequery): New - builds a kernel module that
hijacks the tracepoint declarations, so we can query debuginfo.
* buildrun.h: declare above
* tapsets.cxx (tracepoint_builder): New builder for tracepoint
probes. For now it just handles the initialization to build the
tracequery kernel module.
commit 2da9cedbf2a1916107fe829692af5113646a894d
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 4 18:51:28 2009 -0800
Make iterate_over_functions work with base_querys
* tapsets.cxx (dwflpp::iterate_over_functions): Change arg from
void* to base_query*, and add explicit function-search parameters.
(query_cu): update caller
(query_dwarf_func): update callback signature
(Note: instead of passing around callback functions, it might be nicer
to use a virtual method in base_query...)
commit dd22832afe6c337eb020001834266ad1e7678b2c
Author: Josh Stone <jistone@redhat.com>
Date: Wed Mar 4 18:32:54 2009 -0800
Make session.module_cache init more consistently
We used to check & init module_cache in a few inconsistent places. Now
it is always handled in dwflpp::setup_user/setup_kernel.
* tapsets.cxx (dwflpp::setup_user): add module_cache check
(dwarf_builder::build): remove module_cache check
(dwarf_cast_expanding_visitor::visit_cast_op): ditto
-----------------------------------------------------------------------
Summary of changes:
buildrun.cxx | 75 ++++++
buildrun.h | 1 +
session.h | 2 +
stapprobes.5.in | 36 +++
tapsets.cxx | 768 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
5 files changed, 861 insertions(+), 21 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool