]>
sourceware.org Git - systemtap.git/commit
(PR14571 partial fix) Improve dyninst multithreading.
* translate.cxx (c_unparser::emit_common_header): Don't declare contexts,
let the runtime handle it.
(c_unparser::emit_module_init): Instead of allocating/freeing contexts
directly, call the runtime functions
_stp_runtime_contexts_alloc()/_stp_runtime_contexts/free().
(c_unparser::emit_module_exit): Instead of waiting on contexts directly,
call the runtime function _stp_runtime_context_wait().
* tapsets.cxx (common_probe_entryfn_prologue): Updated with new method of
getting context in probe prologues. For dyninst, handle a NULL context.
(common_probe_entryfn_epilogue): Call _stp_runtime_entryfn_put_context()
in probe epilogue.
* runtime/dyninst/runtime_context.h: New file.
* runtime/linux/runtime_context.h: Ditto.
* runtime/common_probe_context.h: Added dyninst fields.
* runtime/dyninst/map_runtime.h: Make map locking optional.
* runtime/dyninst/print.c (_stp_print_init): Added multithreading support.
* runtime/dyninst/runtime.h: Remove the stapdyn_big_dumb_lock.
(stp_dyninst_session_init): Call _stp_runtime_contexts_init() and
_stp_print_init().
(stp_dyninst_session_exit): Call _stp_print_cleanup().
* runtime/dyninst/stat_runtime.h: Make stat locking optional.
* runtime/stat.h: Ditto.
* runtime/linux/map_runtime.h (_stp_map_for_each_cpu): Remove unneeded macro.
* runtime/linux/runtime.h: Removed unused macros.
* runtime/linux/stat_runtime.h (_stp_stat_initialize_locks): Switched back
to standard lkm macros.
* runtime/map-stat.c: Ditto.
* runtime/map.c: Ditto.
* runtime/pmap-gen.c: Ditto.
* runtime/stat.c: Ditto.
* runtime/map.h: Make locking optional.
* runtime/runtime.h: Added forward declarations for runtime_context.h.
* runtime/runtime_context.h: Include the correct runtime's
runtime_context.h.
* runtime/vsprintf.c: Update method of getting context.
21 files changed:
This page took 0.032572 seconds and 5 git commands to generate.