| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* tapset/perf.stp: Add 'em.
* man/tapset::perf.3stap: Document 'em a little.
* stapprobes.3stap.in: Fix .sample (not .samples) probe point typo.
|
|
|
|
|
| |
* tapset/nd_syscalls2.stp: Added support for 'sys_ia64_pipe' so that the
syscall.pipe probe works correctly under RHEL5.5.
|
|
|
|
|
| |
* tapset/syscalls2.stp: Added support for 'sys_ia64_pipe' so that the
syscall.pipe probe works correctly under RHEL5.5.
|
| |
|
|
|
|
|
| |
* elaborate.cxx (const_folder::visit_if_statement, visit_binary_expression,
visit_ternary_expression): Print constant value in -vvv diagnostics.
|
|
|
|
|
| |
* runtime/sym.c: Removed <asm/segment.h> include. That file doesn't exist
on ppc, and it appears to be empty everywhere else.
|
|
|
|
|
| |
* buildrun.cxx (output_cpu_khz): Replace with generalized
output_exportconf().
|
| |
|
|
|
|
|
|
|
| |
* session.h (kernel_exports): New field.
* main.cxx (parse_kernel_exports): Fill it.
* tapset-perfmon.cxx (perf_builder::build): Check it for our pal
perf_event_create_kernel_counter.
|
|
|
|
|
| |
* tapset-perfmon.cxx (perf_builder::build): Check for CONFIG_PERF_EVENTS here.
(register_tapset_perf): ... instead of here.
|
|
|
|
|
|
| |
* tapset/perf.stp: New file.
* tapset-perfmon.cxx (perf_derived_probe): Drop event_name field throughout.
Listen to type(N).config(M) instead.
|
|
|
|
| |
* runtime/perf.c (_stp_perf_init): If cpu_is_offline(), don't.
|
|
|
|
|
|
|
| |
* runtime/perf.c (_stp_perf_init): Pass through ERR_PTRs, and create our
own -ENOMEM for allocation failures.
* tapset-perfmon.cxx (perf_derived_probe_group::emit_module_init): Check
IS_ERR for registration status.
|
| |
|
|
|
|
|
| |
* AUTHORS: Add Steve Dickson.
* .mailmap: Squash William Cohen's twin Will.
|
|
|
|
|
|
|
|
|
|
| |
While I still have some TODOs, it's now in a usable state for others to
start testing...
* tapset-perfmon.cxx (perf_derived_probe_group::emit_module_decls):
Implement the code to hook up real stap handlers.
(perf_derived_probe_group::emit_module_init): Register for real.
(perf_derived_probe_group::emit_module_exit): Unregister.
|
|
|
|
|
|
| |
* tapset-perfmon.cxx (perf_builder::translate_event): New. The event
mapping is hard-copied from the current state of perf.
(perf_builder::build): Call it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are now the available points:
perf.event("NAME")
perf.event("NAME").sample(NUM)
* tapset-perfmon.cxx (perf_derived_probe::perf_derived_probe): Add
fields for the event name, type, and config. Rewrite the probe_point
to match the derived components
(perf_builder::build): Parse the new fields.
(register_tapset_perf): Adapt the match_nodes.
|
|
|
|
|
|
|
| |
IMO, it's better to contain the CONFIG check inside the perf code.
* tapsets.cxx (register_standard_tapsets): Always call perf register.
* tapset-perfmon.cxx (register_tapset_perf): Do the CONFIG check here.
|
| |
|
| |
|
|
|
|
|
|
| |
The only information available in the overflow interrupt is the event.
Need to group other pieces of information needed by systemtap, so they
can be found based on the the location of the event information.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements a very simple sampling runtime to using the performance
events kernel API. An perf event attribute describing the setup and a
function to handle the counter overflows are passed into
_stp_perf_init(). This function sets up the event on each processor.
If successfully initialized, a pointer data structure is
returned. When the sampling is no longer needed _stp_perf_del() is
called to shutdown the sampling.
* runtime/perf.h: Add declarations for data structures and functions
* runtime/perf.c: Remove old perfmon runtime runtime.
Add _stp_perf_init() and _stp_perf_del() functions.
|
| |
|
|
|
|
|
|
|
|
|
| |
* tapset/proc_mem.stp: Tried to remove as much embedded-C as possible.
* tapset/atomic.stp: New file.
* testsuite/buildok/atomic.stp: New file.
* testsuite/systemtap.base/atomic.exp: Ditto.
* testsuite/systemtap.base/atomic_module.c: Ditto.
* testsuite/systemtap.base/atomic_module.makefile: Ditto.
|
|
|
|
| |
* testsuite/lib/stap_run_error.exp: Fixed regexp typo.
|
|
|
|
|
|
|
|
| |
* testsuite/lib/stap_run_error.exp: New file.
* testsuite/config/unix.exp: Loads stap_run_error.exp.
* testsuite/systemtap.base/maxmemory.exp: Uses stap_run_error function
instead of local code.
* testsuite/systemtap.base/overload.exp: Ditto.
|
|
|
|
|
| |
* runtime/sym.c (_stp_module_check): Use a failure-tolerant
get_user() loop instead of memcmp() for buildid binary strings.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SDT and label probes are not really final probe types themselves, but
rather they get translated into some other final type. This patch
preserves this relationship as if SDT and label probes were dynamically
generated aliases.
* elaborate.cxx (probe::create_alias): New, fake an alias_derived_probe.
* tapsets.cxx (query_label): Append the label name as an alias.
(sdt_query::handle_query_module): Let convert_location do the alias.
(sdt_query::convert_location): Translate the location using an alias.
* main.cxx (printscript): Elaborate the derivation debug dump.
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
The __get_fh() is no longer exists due to the use
of the @cast defines, so its removed
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
This reverts commit 35f22bd95cea2fb75573a27282f2a5edea84f2d7
beause kernel_v kernel checks should not be used.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This commit causes the 2.6.33 probes to break
This reverts commit 3ca4e3f2f5a7a615d0aed00a242f4e30864deaa8.
|
|
|
|
|
|
|
| |
Ensured the recent additions of v4 probes and
supporting routines worked with RHEL5 U5 kernel.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
| |
- Fixed a couple typos
- To allow better optimization, removed the used of
"convenience variables"
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Either probes displayed anything that was useful, plus
there are other ways to display similar information.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
As mjw's aborted commit 5ab0b1b6 attempted, we can use a @cast to get
the filesystem root for the current task instead of embedded-C. I've
left it using the kernel debuginfo instead of headers for now, because
all of the neighboring @casts are doing the same.
* tapset/dentry.stp (d_path): Use @cast to get the root.
(__dentry_get_current_root): Remove, no longer needed.
* testsuite/buildok/dentry.stp: Test that dentry's functions all build.
|