| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* pmap-gen.c (_stp_pmap_get): Fix bug where old data
from agg map could be returned after element was deleted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2140
* translate.cxx (mapvar::del): Add ability to delete an indexed stat
from (p)maps.
(delete_statement_operand_visitor::visit_symbol): Add ability to
delete entire pmaps and scalars.
(delete_statement_operand_tmp_visitor): Add a special tmpvar visitor
to parallel delete_statement_operand_visitor.
(c_tmpcounter::visit_delete_statement): Invoke the new visitor.
* testsuite/buildok/delete.stp: Also test scalar deletes.
* vim/syntax/stap.vim: Recognize 'delete' operator.
2006-01-16 Josh Stone <joshua.i.stone@intel.com>
* stat.c (_stp_stat_clear): add a function that just
clears a Stat, so we can use delete in the translator.
|
|
|
|
|
| |
* map.c (_stp_pmap_agg): Return NULL when aggregation
fails.
|
|
|
|
|
|
|
|
| |
PR 2148
* translate.cxx (MAXERRORS): Actually the max should be 0, so first
error aborts session.
* Revert last stp_exit change.
|
|
|
|
| |
* io.c (_stp_exit): set STAP_SESSION_STOPPING.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1937
* buildrun.cxx (run_pass): Pass new "-d PID" option to stpd.
Set SIGHUP to SIG_IGN too.
2005-12-08 Frank Ch. Eigler <fche@elastic.org>
PR 1937
* stpd.c (main): Support new "-d" option.
(usage): Document it.
* librelay.c (driver_poll): New function to react to death of
driver process.
(stp_main_loop): Call it if "-d PID" given. Treat SIGHUP like others.
|
|
|
|
|
|
|
| |
* map.c (_new_map_create): Only increment map size if a node
was moved off the free list.
(_stp_map_size): New function.
(_stp_pmap_size): New function.
|
|
|
|
|
| |
* maps/map.test: Add size test.
* pmaps/pmap.test: Add size test.
|
|
|
|
|
| |
* agg/agg.test: Adjust results to match
the more compact histogram format.
|
|
|
|
|
| |
* alloc.c: Remove all unused functions.
* io.c: Add vprintf() prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR1923
* map.h (struct map_root): Remove membuf.
(struct pmap): Define.
(PMAP): Declare.
* map.c (_stp_map_init): Use kmalloc() to allocate individual
nodes instead of using vmalloc() to allocate one big chunk.
(_stp_map_new): Use kmalloc.
(_stp_pmap_new): Use kmalloc. Return a PMAP.
(__stp_map_del): New function. Free all the nodes in a map.
(_stp_map_del): Call __stp_map_del() then free map struct.
(_stp_pmap_del): Takes a PMAP. Calls __stp_map_del() for
each cpu.
(_stp_pmap_printn_cpu): Change arg to PMAP.
(_stp_pmap_agg): Change arg to PMAP.
(_stp_pmap_get_agg): Change arg to PMAP.
* map-stat.c (_stp_pmap_new_hstat_linear): Use PMAP
instead of MAP. Fix allocations.
(_stp_pmap_new_hstat_log): Ditto.
* pmap-gen.c Fix all functions to take or return PMAPS
instead of MAPS.
* alloc.c: Remove everything except kmalloc_node().
All runtime code now uses kmalloc() directly.
|
|
|
|
|
|
|
|
|
|
| |
* pmaps/*.c: Change pmap type from MAP to PMAP.
* pmaps/pmap.test: Adjust results to match
the more compact histogram format.
* maps/map.test: Adjust results to match
the more compact histogram format.
|
|
|
|
|
|
|
| |
* procfs.c (_stp_set_buffers): kmalloc the buffers instead
of vmalloc.
(_stp_register_procfs): Ditto.
(_stp_unregister_procfs): kfree the buffers.
|
|
|
|
|
| |
* io.c (_stp_exit): To prevent any possible interactions
with the probed function, just set a flag here.
|
|
|
|
|
|
|
|
|
| |
* transport.h (STP_WORK_TIMER): Declare.
* transport.c (_stp_work_queue): Wake up every STP_WORK_QUEUE
jiffies and check IO and exit status.
(_stp_handle_exit): Deleted.
* procfs.c (_stp_proc_write_cmd): Just set exit flag on STP_EXIT.
(_stp_write): Don't call wake_up_interruptible.
|
|
|
|
| |
* recreate_links: Remove links to deleted files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-11-28 Graydon Hoare <graydon@redhat.com>
* translate.cxx (var::assert_hist_compatible): New method.
(var::hist): New method.
(c_unparser::load_aggregate): New method.
(hist_op_downcaster): Remove, it was a mistake.
(expression_is_hist_op): Likewise.
(c_tmpcounter::visit_print_format): Implement print(@hist(...)).
(c_unparser::visit_print_format): Likewise.
* staptree.h (struct print_format): Add optional hist_op* member.
* staptree.cxx (traversing_visitor::visit_functioncall): Visit
hist_op if present in print_format.
(deep_copy_visitor::visit_print_format): Likewise.
* parse.cxx (parse_symbol): Special case to consume print(@hist(...)).
* elaborate.cxx (typeresolution_info::visit_arrayindex): Fix type inference bug.
(typeresolution_info::visit_foreach_loop): Likewise.
* testsuite/buildok/print_histograms.stp: New test.
[runtime/ChangeLog]
2005-11-28 Graydon Hoare <graydon@redhat.com>
* stat-common.c (_stp_stat_print_histogram): Various formatting
corrections and aesthetic tweaks.
(__stp_stat_add): Correction to linear bucket underflow cases.
|
|
|
|
|
|
|
|
|
|
|
| |
* alloc.c (__stp_valloc_percpu): Use same code for up and smp.
(_stp_per_cpu_ptr): New macro.
* user/alloc.c: Ditto.
* map.c: Use _stp_map_cpu_ptr().
* map-stat.c: Ditto.
* pmap-gen.c: Ditto.
* runtime.h: Include alloc.c
* user/runtime.h: Ditto.
|
|
|
|
|
| |
* map.c (_stp_pmap_del): Use _stp_free_percpu() to
free pmaps.
|
|
|
|
|
| |
* map-stat.c (_stp_pmap_new_hstat_log): Fix typo. Call
_stp_pmap_new() instead of _stp_map_new().
|
|
|
|
| |
* map.h: Removed old API macros and prototypes.
|
|
|
|
|
|
|
|
|
| |
* pmap-gen.c (_stp_pmap_get()): New function. Aggregates
the per-cpu map nodes into an aggregation map node.
* map.c (_stp_new_agg): Return a struct map_node *.
(_stp_add_agg): If count is 0 when adding,
just set the stats.
|
|
|
|
|
|
| |
* pmaps/ix2.c: New test. Test _stp_pmap_get_*().
* pmaps/iii3.c: New test. Test _stp_pmap_get_*().
* pmaps/pmap.test: Update.
|
|
|
|
|
|
| |
* map.c: Doc updates.
* pmap-gen.c: Change a bunch of generated function names to
avoid conflicts with maps with the same key and value types.
|
|
|
|
|
| |
* pmaps/ii2.c: New test of maps and pmaps with the same keysym.
* pmaps/pmap.test: Update.
|
|
|
|
| |
* map.c (_stp_cmp): Use _stp_div64().
|
| |
|
|
|
|
|
|
| |
* map.h: Remove HSTAT_LOG and HSTAT_LINEAR.
* map-gen.c: Fix comment.
* pmap-gen.c: Ditto.
|
|
|
|
|
|
| |
* map.c (_stp_cmp): Patch to sort on stats.
(_stp_map_sort): Ditto.
(_stp_map_sortn): Ditto.
|
|
|
|
|
|
| |
* maps/sort2.c: New file.
* maps/sort_stat.c: New file.
* maps/map.test: Update
|
|
|
|
| |
* map.c: Change order of includes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map.h (struct map_root): Delete fields
used by old API.
* map.c: Remove old map API functions.
* map-stat.c (_stp_map_add_stat): Delete.
(_stp_pmap_new_hstat_linear): Move here from map.c.
(_stp_pmap_new_hstat_log): Ditto.
* list.c: Deleted.
* map-keys.c: Deleted.
* map-values.c: Deleted.
* map-int.c: Deleted.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* maps/map.test: Remove old map API tests.
* maps/ii2.c: Renamed ii.c.
* maps/iiss2.c: Renamed iiss.c.
* maps/is2.c: Renamed is.c.
* maps/issii2.c: Renamed issii.c.
* maps/isx2.c: Renamed isx.c.
* maps/map_format2.c: Renamed map_format.c.
* maps/si2.c: Renamed si.c.
* maps/keys.c: Deleted
* maps/test_list_int64.c: Deleted.
* maps/test_list_string.c: Deleted.
* maps/sort.c: Update to use new map API.
|
|
|
|
|
|
|
|
| |
* shellsnoop/shellsnoop.c: Updated to use new map API.
* where_func/kprobe_where_funct.c: Ditto.
* os_timer/os_timer.c (probe_start): Ditto.
* test4/test4.c: Ditto.
* scf/scf.c: Ditto.
|
|
|
|
|
| |
* alloc.c (__stp_valloc_percpu): Fix call to vmalloc_node.
(vmalloc_node): Remove nonworking code.
|
| |
|
|
|
|
| |
* alloc.c (__stp_valloc_percpu): Fix call to vmalloc_node.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* map.c (_stp_map_init): New function. Extracted from _stp_map_new()
so it can be used in _stp_pmap_new().
(_stp_map_new): Call _stp_map_init().
(_stp_pmap_new): New function.
(_stp_pmap_new_hstat_linear): New function.
(_stp_pmap_new_hstat_log): New function.
(_stp_pmap_del): New function.
(_stp_pmap_printn_cpu): New function.
(_stp_pmap_printn): New function.
(_stp_new_agg): New function.
(_stp_add_agg): New function.
(_stp_pmap_agg): New function.
(_new_map_clear_node): New function.
* map.h (struct map_root): Add Hist struct. Add copy
and cmp function pointers for pmaps.
* stat.h: Remove Stat struct. Replace with Hist struct
that is limited to only histogram params.
* map-stat.c: Fix up references to histogram params in map_root.
* stat-common.c: Ditto.
* stat.c: Ditto.
* pmap-gen.c: New file. Implements per-cpu maps.
* map-gen.c: Minor bug fixes. Use new VAL_IS_ZERO() macro.
* alloc.c (vmalloc_node): For NUMA, provide a vmalloc that
does node-local allocations.
(_stp_alloc_cpu): A version of _stp_alloc() that does
node-local allocations.
(_stp_valloc): A version of _stp_valloc() that does
node-local allocations.
(__stp_valloc_percpu): New function. Like alloc_percpu()
except uses _stp_valloc().
(_stp_vfree_percpu): New function. Like free_percpu().
|
|
|
|
|
|
| |
* recreate_links: Add link to pmap-gen.c
* print.c (next_fmt): Remove unneeded dbug().
* alloc.c: Update to reflect changes to runtime/alloc.c.
|
|
|
|
| |
* pmaps/*: Add new pmaps tests.
|
| |
|
|
|
|
|
|
| |
* runtime.h: #include <linux/version.h>.
(init_module): Remove old ppc comment.
ifdef _stp_kta so it only gets set for x86 and x86_64.
|
|
|
|
| |
anymore
|
| |
|
|
|
|
| |
* ALL: Cleanup copyrights.
|
|
|
|
|
|
|
| |
Systemtap should now be able to build on Ia64.
Includes supports for - function probes, return probes,
function parameter access and dumping stack backtrace.
Added by Anil S Keshavamurthy <Anil.s.keshavamurthy@intel.com>
|