summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Make the stap-prep script available in the RPM.William Cohen2010-03-122-0/+4
|
* Revert "Make stap-prep script available in the RPM"William Cohen2010-03-122-4/+0
| | | | This reverts commit da3dfc346ff926f0f1bdd2872fe4f5f8e920953a.
* Make stap-prep script available in the RPMWilliam Cohen2010-03-122-0/+4
|
* PR11373 kludge: clean up testsuite/stap_*.ko upon 'make clean'Frank Ch. Eigler2010-03-122-0/+8
|
* langref.tex editingWilliam Cohen2010-03-121-228/+283
| | | | | | | | | | | | Reviewed the language reference manual and made editing changes: -Reorderd sections for better grouping -Added description of the @defined operation -Corrected limits for MAXSTRENLEN and number of indices in associate array -Adjusted language in aggregates section -Corrected @hist example writeup. -Make output for @hist avoid page breaks -Updated information about manpages in "For Futher References" section
* smileytap logo: inserted GPLv2 RDF tagFrank Ch. Eigler2010-03-121-2/+26
|
* Add startswith/endswith helpersJosh Stone2010-03-118-26/+40
| | | | | Inspired by the Python equivalents, these new utility functions just make it a little cleaner to match at the beginning or end of a string.
* Fix the edge-case of MAXTRYLOCK=0Josh Stone2010-03-112-14/+24
| | | | | | | | | | | | | | | | | We didn't really have good semantics for what is meant by MAXTRYLOCK=0, so when skipped.exp tried it, we ended up locking the variable and then reporting a skip without ever unlocking it. This is now cleaning up the semantics such that MAXTRYLOCK defines how many times we should loop if the lock is busy. Thus MAXTRYLOCK=0 means we try only once and fail immediately. The testcase was accidentally creating contention due to the broken unlock behavior. We now have to try a bit harder to create real contention, so some lengthy delays are inserted to hoard the lock. * runtime/probe_lock.h (stp_probe_lock): Fix the skip behavior. * testsuite/systemtap.base/skipped.exp: Add a big udelay.
* Fix proc_mem.stp for RHEL5.David Smith2010-03-111-1/+1
| | | | | * tapset/proc_mem.stp: Move header file so that it will compile on RHEL5 systems.
* Revoke unprivileged from ftrace()Josh Stone2010-03-111-4/+2
| | | | | | | | It's writing into a system-wide resource, so it shouldn't be permitted to just anyone. Also remove the printk fallback that isn't actually functional. * tapset/logging.stp (ftrace): Remove unprivileged and printk.
* Update tapset proc_mem for 2.6.34Wenji Huang2010-03-111-0/+32
| | | | | * tapset/proc_mem.stp(_stp_get_mm_counter_file_rss, _stp_get_mm_counter_anon_rss): Use embedded function.