]> sourceware.org Git - systemtap.git/commit
(PR14571 partial fix) Improve dyninst multithreading.
authorDavid Smith <dsmith@redhat.com>
Wed, 31 Oct 2012 15:45:41 +0000 (10:45 -0500)
committerDavid Smith <dsmith@redhat.com>
Wed, 31 Oct 2012 15:45:41 +0000 (10:45 -0500)
commit1d0e697d7ceebea0b79cb5e34bc0ce477b65e252
tree32c07ac5d8de3ca63cc752fdbc46029ed9445f3b
parent83ecc2d8a42f67c46617d516b8fa57bec8cca7eb
(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:
runtime/common_probe_context.h
runtime/dyninst/map_runtime.h
runtime/dyninst/print.c
runtime/dyninst/runtime.h
runtime/dyninst/runtime_context.h [new file with mode: 0644]
runtime/dyninst/stat_runtime.h
runtime/linux/map_runtime.h
runtime/linux/runtime.h
runtime/linux/runtime_context.h [new file with mode: 0644]
runtime/linux/stat_runtime.h
runtime/map-stat.c
runtime/map.c
runtime/map.h
runtime/pmap-gen.c
runtime/runtime.h
runtime/runtime_context.h
runtime/stat.c
runtime/stat.h
runtime/vsprintf.c
tapsets.cxx
translate.cxx
This page took 0.032572 seconds and 5 git commands to generate.