|
HPCToolkit
|
#include <sys/types.h>#include <pthread.h>#include <unistd.h>#include <setjmp.h>#include <stdbool.h>#include <stdint.h>#include <inttypes.h>#include <dlfcn.h>#include <stdlib.h>#include <string.h>#include <monitor.h>#include <include/uint.h>#include <include/hpctoolkit-config.h>#include "main.h"#include "disabled.h"#include "env.h"#include "loadmap.h"#include "files.h"#include "fnbounds_interface.h"#include "fnbounds_table_interface.h"#include "hpcrun_dlfns.h"#include "hpcrun_options.h"#include "hpcrun_return_codes.h"#include "hpcrun_stats.h"#include "name.h"#include "start-stop.h"#include "custom-init.h"#include "cct_insert_backtrace.h"#include "safe-sampling.h"#include "metrics.h"#include "sample_event.h"#include <sample-sources/none.h>#include <sample-sources/itimer.h>#include "sample_sources_registered.h"#include "sample_sources_all.h"#include "segv_handler.h"#include "sample_prob.h"#include "term_handler.h"#include "epoch.h"#include "thread_data.h"#include "threadmgr.h"#include "thread_use.h"#include "trace.h"#include "write_data.h"#include <utilities/token-iter.h>#include <memory/hpcrun-malloc.h>#include <memory/mmap.h>#include <monitor-exts/monitor_ext.h>#include <cct/cct.h>#include <unwind/common/backtrace.h>#include <unwind/common/unwind.h>#include <utilities/arch/context-pc.h>#include <lush/lush-backtrace.h>#include <lush/lush-pthread.h>#include <lib/prof-lean/hpcrun-fmt.h>#include <lib/prof-lean/hpcio.h>#include <messages/messages.h>#include <messages/debug-flag.h>Go to the source code of this file.
Classes | |
| struct | local_thread_data_t |
| struct | fork_data_t |
| struct | hpcrun_aux_cleanup_t |
Macros | |
| #define | GET_NEW_AUX_CLEANUP_NODE(node_ptr) |
| #define | ADD_TO_FREE_AUX_CLEANUP_LIST(node_ptr) |
Typedefs | |
| typedef struct local_thread_data_t | local_thread_data_t |
| typedef struct fork_data_t | fork_data_t |
Enumerations | |
| enum | _local_const { PROC_NAME_LEN = 2048, ITIMER_EVENT = 0, _TST_EVENT = 0 } |
Variables | |
| int | lush_metrics = 0 |
| __thread bool | hpcrun_thread_suppress_sample = true |
| static hpcrun_options_t | opts |
| static bool | hpcrun_is_initialized_private = false |
| static bool | safe_to_sync_sample = false |
| static void * | main_addr = NULL |
| static void * | main_lower = NULL |
| static void * | main_upper = (void*) (intptr_t) -1 |
| static void * | main_addr_dl = NULL |
| static void * | main_lower_dl = NULL |
| static void * | main_upper_dl = (void*) (intptr_t) -1 |
| static spinlock_t | hpcrun_aux_cleanup_lock = SPINLOCK_UNLOCKED |
| static hpcrun_aux_cleanup_t * | hpcrun_aux_cleanup_list_head = NULL |
| static hpcrun_aux_cleanup_t * | hpcrun_aux_cleanup_free_list_head = NULL |
| static char | execname [PATH_MAX] = {'\0'} |
| static sigjmp_buf | ivd_jb |
| volatile int | HPCRUN_DEBUGGER_WAIT = 1 |
| static fork_data_t | from_fork |
| static siglongjmp_fcn * | real_siglongjmp = NULL |
| #define ADD_TO_FREE_AUX_CLEANUP_LIST | ( | node_ptr | ) |
| #define GET_NEW_AUX_CLEANUP_NODE | ( | node_ptr | ) |
| typedef struct fork_data_t fork_data_t |
| typedef struct local_thread_data_t local_thread_data_t |
| enum _local_const |
|
static |
|
static |
|
static |
| void hpcrun_dump_intervals | ( | void * | addr | ) |
Definition at line 734 of file ppc64-unwind-interval.c.


| void hpcrun_fini_internal | ( | ) |
| siglongjmp_fcn * hpcrun_get_real_siglongjmp | ( | void | ) |
| bool hpcrun_inbounds_main | ( | void * | addr | ) |
| void hpcrun_init_internal | ( | bool | is_child | ) |
| void hpcrun_init_thread_support | ( | ) |
| bool hpcrun_is_initialized | ( | ) |
|
static |
| hpcrun_aux_cleanup_t* hpcrun_process_aux_cleanup_add | ( | void(*)(void *) | func, |
| void * | arg | ||
| ) |
| void hpcrun_process_aux_cleanup_remove | ( | hpcrun_aux_cleanup_t * | node | ) |
|
static |
| void hpcrun_set_real_siglongjmp | ( | void | ) |
| void hpcrun_set_retain_recursion_mode | ( | bool | mode | ) |
| void hpcrun_set_safe_to_sync | ( | void | ) |
| void hpcrun_thread_fini | ( | epoch_t * | epoch | ) |
Routine to handle the end of the thread: call sample sources to stop and finish the thread action notify thread manager of the end of the thread (so that it can either clean-up the data, or reuse the data for another thread)
Definition at line 722 of file main.c.


| void* hpcrun_thread_init | ( | int | id, |
| local_thread_data_t * | local_thread_data | ||
| ) |
| void hpcrun_wait | ( | ) |
|
static |
| void monitor_dlclose | ( | void * | handle | ) |
| void monitor_dlopen | ( | const char * | path, |
| int | flags, | ||
| void * | handle | ||
| ) |
| void monitor_fini_process | ( | int | how, |
| void * | data | ||
| ) |
| void monitor_fini_thread | ( | void * | init_thread_data | ) |
| void monitor_init_mpi | ( | int * | argc, |
| char *** | argv | ||
| ) |
| void* monitor_init_process | ( | int * | argc, |
| char ** | argv, | ||
| void * | data | ||
| ) |
| void* monitor_init_thread | ( | int | tid, |
| void * | data | ||
| ) |
| void monitor_init_thread_support | ( | void | ) |
| void monitor_mpi_pre_init | ( | void | ) |
| void monitor_post_dlclose | ( | void * | handle, |
| int | ret | ||
| ) |
| void monitor_post_fork | ( | pid_t | child, |
| void * | data | ||
| ) |
| void monitor_pre_dlopen | ( | const char * | path, |
| int | flags | ||
| ) |
| void* monitor_pre_fork | ( | void | ) |
| void monitor_thread_post_create | ( | void * | data | ) |
| void* monitor_thread_pre_create | ( | void | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |