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 |