| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* translate.cxx (c_unparser:getmap): Correct exception throwing typo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2056
* translate.cxx (c_unparser::aggregation_locks): Keeps track of
foreach's locks on pmaps to avoid extra aggregation.
(c_unparser::visit_foreach_loop): Set aggregation_locks appropriately.
(c_unparser::load_aggregate, mapvar::call_prefix, mapvar::get):
Use a new parameter to indicate that we should read from the
already-aggregated map rather than the full pmap..
(c_unparser::visit_arrayindex c_unparser::visit_print_format,
c_unparser::visit_stat_op): Use aggregation_locks to avoid taking a
lock and aggregating the pmap.
(c_unparser::emit_map_type_instantiations): To read from a pmap's
aggregated map, we need to include map-gen.c for the _stp_map_*
functions.
(c_unparser::obtained_locks, varlock::varlock, varlock::~varlock):
Add simple static checking to detect incompatible nested locks during
translation, and flag it as an error.
|
|
|
|
|
|
| |
PR 2140
* testsuite/buildok/delete.stp: Test correct compilation of the
'delete' operator for all "legal" variations.
|
|
|
|
| |
* translate.cxx (MAXERRORS): Oops, set back to intended default of 1.
|
|
|
|
|
|
|
| |
PR 1972.
* tapsets.cxx (var_expanding_copy_visitor::visit_target_symbol):
Produce error message for $var access within .return probes.
* testsuite/semko/thirtyfour.stp: New test.
|
|
|
|
|
| |
* logging.stp: Don't set STAP_SESSION_STOPPING.
That it done in _stp_exit().
|
|
|
|
| |
* io.c (_stp_exit): set STAP_SESSION_STOPPING.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2060.
* buildrun.cxx (compile_pass): Add "V=1" to kbuild if verbose.
* translate.cxx (translator_output): For output-file constructor,
set an explicit output buffer.
(emit_module_init, emit_module_exit): Reorganize output, to spit
each individual probe registration/deregistration blurb into a
separate function.
* translate.h: Corresponding changes; set default buffer size to 8K.
* translate.cxx, tapsets.cxx: Replace "endl" by buffer-friendly "\n"
throughout code generation routines.
|
|
|
|
| |
* HACKING: Extend guidelines for tapset testing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2056
* translate.cxx (var::~var, var::hist, var::buckets): make these
methods virtual, so we can use polymorphism.
(mapvar::hist, mapvar::buckets): Override the corresponding var
methods to handle pmaps correctly.
(c_unparser::visit_arrayindex, c_unparser::visit_print_format): Make
use of the new polymorphic behavior of var & mapvar when dealing with
histogram data.
* testsuite/buildok/pmap_foreach.stp: Add tests to check histogram
accesses with for/foreach.
|
|
|
|
|
|
| |
PR 2057.
* translate.cxx (c_unparser_assignment::visit_arrayindex): Don't take
write lock around pmap accumulation.
|
| |
|
|
|
|
| |
* tapsets.cxx (emit_deregistration): Fix bad thinko on loop nesting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1144, 1379
* tapsets.cxx (emit_probe_prologue, _epilogue): New routines.
Call from existing derived_probe spots. Implement soft errors in
epilogue code. Implement reentrancy detection in prologue code.
(dwarf_derived_probe::emit_deregistration): Add kprobes layer
"nmissed" to skipped_count.
* translate.cxx (varlock): Use nsleep(TRYLOCKDELAY) in lock
contention loop.
(emit_module_exit): Report number of soft errors and skipped probes.
(emit_function, _probe): Add __restrict__ marker to context pointer.
(translate_pass): Define new MAXTRYLOCK, TRYLOCKDELAY, MAXERRORS,
MAXSKIPPED parameters.
* tapset/logging.stp (error): Don't stp_error, just set context state.
* stap.1.in, stapfuncs.5.in: Document soft errors.
* elaborate.h: Corresponding changes.
2006-01-03 Frank Ch. Eigler <fche@redhat.com>
* io.c (_stp_softerror): New function.
2006-01-03 Frank Ch. Eigler <fche@redhat.com>
* systemtap.base/timers.exp: Extend the test run duration.
Accept skipped probe warnings at shutdown.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SCRIPTS:
run.sh - This is the driver for automated testing.
To run: ./run.sh stpdirectory c_binaries_directory
Result: log/timestamp.log discerpancy report
ctostp.sh - This script generates corresponding stp probe script
files for every C file found in the input directory.
To Run: ctostp.sh input output where input is the
directory containing the C files to convert. Output
is the directory to store the corresponding stp
files.
build.sh - This script expedites the process of compiling all
of the c files. When the "compile" flag is given
it creates a directory called bin, which stores the
compiled C programs. ./build.sh clean removes the
binaries, and ./build.sh run attempts to execute all
of the programs in cfiles/bin.
|
|
|
|
|
|
|
|
|
| |
* tapset/2.6.9-20.ELsmp/syscalls.stp: added kernel
version tapset
* tapset/2.6.9-20.ELsmp/i686/syscalls.stp: added kernel
version arch specific tapset
* tapset/doc/dicrepancies.txt: log of kernel version
discrepancies.
|
|
|
|
|
|
|
|
|
| |
* tapset/2.6.9-20.ELsmp/syscalls.stp: added kernel
version tapset
* tapset/2.6.9-20.ELsmp/i686/syscalls.stp: added kernel
version arch specific tapset
* tapset/doc/dicrepancies.txt: log of kernel version
discrepancies.
|
| |
|
|
|
|
|
| |
* configure.ac: Pass LDFLAGS to elfutils configure to force DT_RUNPATH.
* configure: Regeneraed.
|
| |
|
|
|
|
| |
* translate.cxx (itervar::next): emit different code for pmaps
|
|
|
|
| |
* loc2c.h: Add __attribute__ defeating code for g++ 3.3 compatibility.
|
|
|
|
|
|
|
| |
* vim/filetype.vim: defines *.stp files as SystemTap scripts
* vim/ftplugin/stap.vim: sets the comment styles
* vim/indent/stap.vim: enables simple auto-indenting
* vim/syntax/stap.vim: defines syntax highlighting
|
| |
|
|
|
|
|
| |
* configure.ac, systemtap.spec.in: Version 0.5.2.
* configure: Regenerated.
|
| |
|
|
|
|
| |
* staptree.h: #include <cassert> here.
|
|
|
|
|
| |
function is on kprobes critical path, having probes on this will damage the
system.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 2.6.14/syscalls.stp: added 2.6.14 syscalls to tapset
* 2.6.14/i686/syscalls.stp: added i386 arch specific syscalls
to tapset for kernel 2.6.14
* 2.6.9-24.ELsmp/syscalls.stp: added 2.6.9-24.ELsmp syscalls
to tapset
* 2.6.9-24.ELsmp/x86_64/syscalls.stp: added x86_64 arch specific
syscalls to tapset for kernel 2.6.9-24.ELsmp
* system_calls.stp: removed generic system_calls.stp tapset.
|
|
|
|
|
|
|
|
|
|
| |
* 2.6.14/syscalls.stp: added 2.6.14 syscalls to
tapset
* 2.6.14/i686/syscalls.stp: added i386 arch specific syscalls
to tapset for kernel 2.6.14
* 2.6.9-24.ELsmp/syscalls.stp: added 2.6.9-24.ELsmp/ syscalls
to tapset
* system_calls.stp: removed generic system_calls.stp tapset.
|
|
|
|
|
| |
* syscalls.stp: added x86_64 arch specific syscalls to
tapset for kernel 2.6.9-24.ELsmp
|
| |
|
|
|
|
|
|
|
| |
* tapset/system_calls.stp (epoll.ctl): Temporarily remove
references to $op and $event because gcc 4.0.2 can't
find them.
(epoll.wait): Ditto for $maxevents.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* pmap-gen.c (_stp_pmap_new_*): Initialize lock.
(_stp_pmap_set_*): Lock map while in use.
(_stp_pmap_add_*): Lock map while in use.
(_stp_pmap_get_cpu): Ditto.
(_stp_pmap_get): Lock each per-cpu map.
* map-gen.c: Define and use NULLRET for a NULL return value.
* map.c (_stp_pmap_clear): New function.
(_stp_pmap_agg): Lock each per-cpu map as
it gets aggregated.
|
|
|
|
| |
* emul.h: Add fake spinlock funcs.
|
|
|
|
|
| |
* map.c (_stp_map_sortn): Set a limit of 30 for n. Automatically
call _stp_map_sort() if more is requested.
|
|
|
|
|
| |
* tapsets.cxx (var_expanding_copy_visitor::visit_target):
Transcribe token pointer to synthesized functiondecl.
|
| |
|
|
|
|
|
|
| |
* tapsets.cxx (profile_derived_probe::*,profile_builder::build): Do kernel
version checks at translation time, using the same internal mechanisms as
the preprocessor - a la %( kernel_v < "2.6.10" %? ... %: ... %)
|
|
|
|
|
|
| |
* tapset/context.stp (execname,pid,tid,ppid,pexecname,gid,egid,uid,euid):
Removed in_interrupt checks and other pointer checks. We now operate on
the assumption that "current" and its related data are always valid.
|
|
|
|
|
| |
* main.cxx (main): Added arch directory to the existing
kernel-version-sensitive search path.
|
|
|
|
|
| |
* main.cxx (main): Added arch directory to the existing
kernel-version-sensitive search path.
|
|
|
|
| |
* translate.cxx (translate_pass): Emit #include <linux/profile.h>.
|
|
|
|
| |
occurs.
|
|
|
|
|
|
|
|
|
|
|
|
| |
following command:
echo -q >cscope.files && find -name '*.[ch]' -o -name '*.cxx' |sort >>cscope.files
The sorting is to make sure that future updates show a more consistant
diff between versions in CVS.
(note: it may be worthwhile to add a 'cscope' target to the Makefile, and
stop storing a static cscope.files list in CVS...)
|