| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* runtime/runtime.h: STP_USE_DWARF_UNWINDER don't redefine.
|
|
|
|
| |
* runtime/runtime.h: Move up and enable check for STP_USE_DWARF_UNWINDER.
|
|
|
|
|
|
|
|
| |
* runtime/runtime.h: Include task_finder.c.
* runtime/sym.c: Always define task_finder callbacks for usage in tapsets.
* runtime/task_finder.c: Define dummy stap_task_finder_target when
! defined(CONFIG_UTRACE).
* tapsets.cxx: Never include task_finder.c directly.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2009-04-08 David Smith <dsmith@redhat.com>
* tapsets.cxx (itrace_derived_probe_group::emit_module_decls):
Added inclusion of task_finder.c back. Unconditionally including
it when not needed causes all systemtap scripts to fail on kernels
with no utrace support.
(utrace_derived_probe_group::emit_module_decls): Ditto.
(uprobe_derived_probe_group::emit_module_decls): Ditto.
* runtime/runtime.h: Removed unconditional inclusion of
task_finder.c.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
ChangeLog: Removed
runtime/ChangeLog: Removed
runtime/sym.c: Merged
runtime/task_finder.c: Merged
tapset/ChangeLog: Removed
testsuite/ChangeLog: Removed
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change just inserts 'static' on runtime, tapset, and generated C
functions and globals, so the compiler can do a better job of
optimizing.
My tests with small scripts show ~10% reduction in compile time and ~20%
reduction in module size. Larger scripts may show less benefit, but I
expect purely positive results.
|
| | |
|
|/ |
|
|
|
|
| |
Suggested-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
work with the unwinder.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sym.h (_stp_module): Add text_size, lock, and unwind data
pointer.
* sym.c (_stp_find_module_by_addr): New function.
(_stp_kallsyms_lookup): Call _stp_find_module_by_addr().
(_stp_get_unwind_info): New.
* runtime.h: Move debug macros to debug.h. Include it.
* debug.h: New file.
* map.c: Update debug calls.
* map-gen.c: Update debug calls.
* pmap-gen.c: Update debug calls.
* mempool.c: New file.
* symbols.c: Use rwlocks. Use new dbug macros. Handle
unwind info if present.
* transport.c: Include mempool.c. Update dbug and kbug calls
to new macros.
* transport_msgs.h (_stp_command_name): Add
struct containing message names for debugging.
* control.c, procfs.c: Use new dbug macros. Use
new mempool functions.
|
|
|
|
| |
* procfs.c: New file. Common runtime procfs functions.
|
|
|
|
| |
* runtime.h: Improve check for debugfs in kernel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bench2/bench.rb: Updated to work with new transport
and new itest.c.
* bench2/Makefile: Updated for new itest.c
* bench2/itest.c: Rewritten to use multiple threads
and automatically divide the workload among the threads.
* print.c (_stp_print_flush): Move to print_new.c and
print_old.c.
* print_new.c: New file containing _stp_print_flush()
for the new transport.
* print_old.c: Ditto for old transport.
* runtime.h (STP_OLD_TRANSPORT): Define
(errk): Define.
(MAXSTRINGLEN): Define if not already defined.
* io.c (_stp_vlog): Use _stp_ctl_write().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* string.c (_stp_string_init): Deleted.
(_stp_sprintf): Deleted.
(_stp_vsprintf): Deleted.
(_stp_string_cat_cstr): Deleted.
(_stp_string_cat_string): Deleted.
(_stp_string_cat_char): Deleted.
(_stp_string_ptr): Deleted.
(_stp_string_cat): Deleted.
(_stp_snprintf): Moved from vsprintf.c.
(_stp_vscnprintf): Moved from vsprintf.c.
* string.h (STP_STRING_SIZE): Deleted.
(STP_NUM_STRINGS): Deleted.
Remove all references to type "String".
* vsprintf.c (_stp_vscnprintf): Moved to string.c.
(_stp_snprintf): Moved to string.c
* sym.c (_stp_symbol_sprint): Replaced with
_stp_symbol_print, which writes to the print buffer.
(_stp_symbol_sprint_basic): Replaced with
_stp_symbol_snprint.
* runtime.h: Include io.c.
* stat-common.c: Use new _stp_print* functions.
* stat.c: Ditto.
* regs.c: Renamed to regs-ia64.c.
* current.c: Renamed regs.c.
* regs-ia64.c: New file (renamed from regs.c).
* stack.c (_stp_stack_sprint): Renamed _stp_stack_print
and now just prints to the print buffer. Calls
__stp_stack_print instead of __stp_stack_sprint.
(_stp_stack_snprint): New function. Calls _stp_stack_print and
then copies the print buffer into a string.
(_stp_stack_printj): Deleted.
(_stp_ustack_sprint): Deleted.
* stack-*.c: Rewritten to print instead of writing to strings.
Uses new _stp_print* functions.
* print.c (_stp_printf): Create new function instead of macro.
(_stp_print): Ditto.
(_stp_print_char): New function.
* map.c: Use _stp_print() and _stp_print_char()
instead of _stp_print_cstr().
* io.c (_stp_vlog): Use _stp_print() instead
of _stp_string_cat_cstr().
* copy.c (_stp_string_from_user): Deleted.
|
|
|
|
| |
* runtime.h: Include mm.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 3681.
* staptree.h (struct vardecl): Add a literal 'init' member for the
initialization value of globals.
* staptree.cxx (vardecl::vardecl): Initialize 'init' to NULL.
(vardecl::print): Print global init value during pass-1 output.
* main.cxx (printscript): Print global init values during verbose
pass-2 output.
* parse.cxx (parser::parse_global): Set the initialization literal of
global vardecls.
* translate.cxx (var::init): Don't unconditionally override the value
of numeric globals when the module_param isn't used.
(c_unparser::emit_global_param): Write numeric module_params directly
into the global variable, as an int64_t instead of long.
(c_unparser::emit_global): Add initialization to global declarations.
Don't create a temp module_param long for numeric globals anymore.
runtime/
* runtime.h (param_set_int64_t, param_get_int64_t,
param_check_int64_t): New functions to allow taking module parameters
directly as int64_t values.
testsuite/
* systemtap.base/global_init.exp, systemtap.base/global_init.stp: New
test for checking the timeliness of global initialization.
|
| |
|
|
|
|
|
|
|
| |
* alloc.c (STP_ALLOC_FLAGS): Define.
Cleanup ifdefs.
* map.c: Use STP_ALLOC_FLAGS.
* stat.c: ditto.
|
|
|
|
|
| |
* io.c (_stp_vlog, _stp_dbug): Make first parameter const.
* runtime.h: Update prototype for _stp_dbug.
|
|
|
|
|
|
|
|
|
|
| |
* stack.c (_stp_kta): Rewrite. Use the _stap_symbols
struct instead of calling into the kernel.
* sym.c (_stp_kallsyms_lookup): Move here from runtime.h
* runtime.h: Get rid of all the symbol stuff that
did not belong here.
|
|
|
|
|
|
|
|
|
|
| |
* README: Changed 'stpd' references to 'staprun'.
* README.doc: Ditto.
* TODO: Ditto.
* io.c: Ditto.
* print.c: Ditto.
* runtime.h: Ditto.
* bench2/bench.rb: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* print.c (_stp_print_flush): Rewrite so one version works for
relayfs or procfs. Use proper per-cpu functions.
(_stp_reserve_bytes): New function. Reserve bytes in the output buffer.
(_stp_print_binary): New function. Write a variable number of
64-bit values directly into the output buffer.
* string.c (_stp_sprintf): Rewrite using new per-cpu buffers.
(_stp_vsprintf): Ditto.
(_stp_string_cat_cstr): Ditto.
(_stp_string_cat_char): Ditto.
* runtime.h: Set defaults for MAXTRYLOCK and TRYLOCKDELAY to make
runtime tests in bench2 happy.
|
| |
|
|
|
|
| |
* runtime.h: Include compat.h.
|
|
|
|
|
| |
* runtime.h (for_each_cpu): Define for new kernels
which no longer define it.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
| |
* runtime.h (_stp_kallsyms_lookup_tabled): Only
compile this for systemtap. Runtime-only examples
don't need it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1332.
* translate.cxx (emit_symbol_data): New function to transcribe
a processed address->symbol lookup table, based upon /proc/kallsyms.
2005-10-06 Frank Ch. Eigler <fche@elastic.org>
PR 1332.
* sym.h: New file to declare explicit symbol table struct.
* runtime.h (_stp_kallsyms_lookup_tabled): Use it if available.
* sym.c (_stp_symbol_sprint): HAS_LOOKUP mooted.
2005-10-06 Frank Ch. Eigler <fche@elastic.org>
PR 1132.
* systemtap.samples/symbols.*: New test.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* runtime.h (init_module): Only initialize _stp_kta and
_stp_kallsyms_lookup on i386 and x86_64. Define HAS_LOOKUP.
* sym.c (_stp_symbol_sprint): If HAS_LOOKUP is not
defined, just print address in hex.
* current.c (_stp_ret_addr): Add ppc64 version.
(_stp_sprint_regs): PPC64 version from
Ananth N Mavinakayanahalli <ananth@in.ibm.com>
|
|
|
|
|
| |
* runtime.h (init_module): Include full prototype
info in function cast to satisfy stap.
|
|
|
|
|
|
|
|
| |
* sym.c (_stp_kallsyms_lookup): Moved to runtime.h.
* stack.c (_stp_kta): Moved to runtime.h.
* runtime.h (init_module): Initialize _stp_kallsyms_lookup
and _stp_kta.
* probes.c (_stp_lookup_name): Replaced by kallsyms_lookup_name().
|
|
|
|
|
|
| |
* list.c (_stp_copy_argv_from_user): Move to here.
* copy.c (_stp_copy_argv_from_user): Delete.
* runtime.h: Always include copy.h.
|
|
|
|
| |
* runtime.h: Add a prototype for _stp_dbug().
|
|
|
|
| |
* runtime.h (kbug): New dbug macros that calls printk.
|