summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR909: add perf.hw_cache.* aliasesFrank Ch. Eigler2010-03-183-5/+79
| | | | | | * tapset/perf.stp: Add 'em. * man/tapset::perf.3stap: Document 'em a little. * stapprobes.3stap.in: Fix .sample (not .samples) probe point typo.
* Fixed BZ 568032 by adding support for sys_ia64_pipe.David Smith2010-03-181-2/+9
| | | | | * tapset/nd_syscalls2.stp: Added support for 'sys_ia64_pipe' so that the syscall.pipe probe works correctly under RHEL5.5.
* Fixed BZ 568032 by adding support for sys_ia64_pipe.David Smith2010-03-181-2/+9
| | | | | * tapset/syscalls2.stp: Added support for 'sys_ia64_pipe' so that the syscall.pipe probe works correctly under RHEL5.5.
* PR909: baby documentation for perf.* probesFrank Ch. Eigler2010-03-184-1/+91
|
* optimizer diagnostics: identify taken branch of optimizationsFrank Ch. Eigler2010-03-181-3/+3
| | | | | * elaborate.cxx (const_folder::visit_if_statement, visit_binary_expression, visit_ternary_expression): Print constant value in -vvv diagnostics.
* Remove <asm/segment.h> inclusion to fix ppc build.David Smith2010-03-181-1/+0
| | | | | * runtime/sym.c: Removed <asm/segment.h> include. That file doesn't exist on ppc, and it appears to be empty everywhere else.
* autoconf: standardize CPU_KHZ based on session kernel_exportsFrank Ch. Eigler2010-03-181-35/+11
| | | | | * buildrun.cxx (output_cpu_khz): Replace with generalized output_exportconf().
* testuite: modargs.exp shouldn't execute things without installcheckFrank Ch. Eigler2010-03-181-2/+5
|
* PR909: store kernel exported symbols in session objectFrank Ch. Eigler2010-03-183-4/+40
| | | | | | | * 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.
* PR909: reject perf.* probes laterFrank Ch. Eigler2010-03-181-6/+5
| | | | | * tapset-perfmon.cxx (perf_builder::build): Check for CONFIG_PERF_EVENTS here. (register_tapset_perf): ... instead of here.
* PR909: switch to tapset-based attr/type resolutionFrank Ch. Eigler2010-03-182-76/+54
| | | | | | * tapset/perf.stp: New file. * tapset-perfmon.cxx (perf_derived_probe): Drop event_name field throughout. Listen to type(N).config(M) instead.
* PR909: filter out offline cpus from perfctr registration loopFrank Ch. Eigler2010-03-171-0/+5
| | | | * runtime/perf.c (_stp_perf_init): If cpu_is_offline(), don't.
* Preserve perf initialization errorsJosh Stone2010-03-172-5/+10
| | | | | | | * 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.
* Assign the perf probe_point on registration failureJosh Stone2010-03-171-0/+1
|
* AUTHORS bumpJosh Stone2010-03-172-0/+2
| | | | | * AUTHORS: Add Steve Dickson. * .mailmap: Squash William Cohen's twin Will.
* PR909: Emit proper decls for perf probesJosh Stone2010-03-171-24/+61
| | | | | | | | | | 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.
* Translate perf events names into kernel namesJosh Stone2010-03-171-4/+63
| | | | | | * 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.
* Rename perf probe pointsJosh Stone2010-03-171-22/+36
| | | | | | | | | | | | 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.
* Move the perf CONFIG checkJosh Stone2010-03-172-3/+6
| | | | | | | 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.
* Start of perf tapset parsingWill Cohen2010-03-175-1/+159
|
* Remove the old performance monitoring code.Will Cohen2010-03-177-427/+0
|
* Modify the systemtap perf sampling internal apiWill Cohen2010-03-172-20/+31
| | | | | | 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.
* PR909: Runtime for Performance Event SamplingWill Cohen2010-03-172-108/+69
| | | | | | | | | | | | | | 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.
* PR11364 sdt.h volatile for args isn't needed with gcc 4.5 or rh 4.4.3-10+Mark Wielaard2010-03-171-6/+4
|
* Fixed PR 11372 by removing (most) embedded-C from proc_mem.stp.David Smith2010-03-166-135/+353
| | | | | | | | | * 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.
* Fixed regexp typo in stap_run_error.exp.David Smith2010-03-161-1/+1
| | | | * testsuite/lib/stap_run_error.exp: Fixed regexp typo.
* Move common code from {maxmemory.exp,overload.exp} into stap_run_error.exp.David Smith2010-03-164-113/+70
| | | | | | | | * 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.
* PR10812: make build-id checking somewhat more robust w.r.t. bad addressesFrank Ch. Eigler2010-03-161-18/+36
| | | | | * runtime/sym.c (_stp_module_check): Use a failure-tolerant get_user() loop instead of memcmp() for buildid binary strings.
* PR10831: Remember derived "aliases" in the probe chainJosh Stone2010-03-164-67/+99
| | | | | | | | | | | | | 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.
* The rpc buildok test suite probe breaks with new kernelsSteve 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>
* Update the nfsd buildok test suite probesSteve Dickson2010-03-161-1/+0
| | | | | | | 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>
* Backport recently added probes to RHEL5(U5)Steve Dickson2010-03-163-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-163-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-163-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-163-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-163-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-161-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-03-162-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-03-161-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-03-161-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-03-161-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-03-161-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-03-161-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-03-161-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-03-161-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-03-161-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-03-161-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 the @defined rather than kernel_v in the inode-watch.stpWilliam Cohen2010-03-122-14/+14
|
* Minor corrections to inode-watch.stp example.William Cohen2010-03-121-2/+2
|
* Get d_path's root natively with @castJosh Stone2010-03-122-15/+9
| | | | | | | | | | | 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.