HPCToolkit
thread_data.h File Reference
#include <setjmp.h>
#include <signal.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
#include "sample_sources_registered.h"
#include "newmem.h"
#include "epoch.h"
#include "cct2metrics.h"
#include "core_profile_trace_data.h"
#include <lush/lush-pthread.i>
#include <unwind/common/backtrace.h>
#include <lib/prof-lean/hpcio.h>
#include <lib/prof-lean/hpcio-buffer.h>
Include dependency graph for thread_data.h:

Go to the source code of this file.

Classes

struct  sigjmp_buf_t
 
struct  gpu_data_t
 
struct  thread_data_t
 

Macros

#define TD_GET(field)   hpcrun_get_thread_data()->field
 
#define hpcrun_get_thread_epoch()   TD_GET(core_profile_trace_data.epoch)
 

Typedefs

typedef struct gpu_data_t gpu_data_t
 
typedef struct thread_data_t thread_data_t
 

Functions

void hpcrun_init_pthread_key (void)
 
void hpcrun_set_thread0_data (void)
 
void hpcrun_set_thread_data (thread_data_t *td)
 
thread_data_thpcrun_safe_get_td (void)
 
void hpcrun_unthreaded_data (void)
 
void hpcrun_threaded_data (void)
 
thread_data_thpcrun_allocate_thread_data (int id)
 
void hpcrun_thread_data_init (int id, cct_ctxt_t *thr_ctxt, int is_child, size_t n_sources)
 
void hpcrun_cached_bt_adjust_size (size_t n)
 
frame_thpcrun_expand_btbuf (void)
 
void hpcrun_ensure_btbuf_avail (void)
 

Variables

static const size_t HPCRUN_TraceBufferSz = HPCIO_RWBufferSz
 
thread_data_t *(* hpcrun_get_thread_data )(void)
 
bool(* hpcrun_td_avail )(void)
 

Macro Definition Documentation

◆ hpcrun_get_thread_epoch

#define hpcrun_get_thread_epoch ( )    TD_GET(core_profile_trace_data.epoch)

Definition at line 278 of file thread_data.h.

◆ TD_GET

#define TD_GET (   field)    hpcrun_get_thread_data()->field

Definition at line 256 of file thread_data.h.

Typedef Documentation

◆ gpu_data_t

typedef struct gpu_data_t gpu_data_t

◆ thread_data_t

typedef struct thread_data_t thread_data_t

Function Documentation

◆ hpcrun_allocate_thread_data()

thread_data_t* hpcrun_allocate_thread_data ( int  id)

Definition at line 208 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_cached_bt_adjust_size()

void hpcrun_cached_bt_adjust_size ( size_t  n)

Definition at line 373 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_ensure_btbuf_avail()

void hpcrun_ensure_btbuf_avail ( void  )

Definition at line 426 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_expand_btbuf()

frame_t* hpcrun_expand_btbuf ( void  )

Definition at line 390 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_init_pthread_key()

void hpcrun_init_pthread_key ( void  )

Definition at line 96 of file thread_data.c.

Here is the caller graph for this function:

◆ hpcrun_safe_get_td()

thread_data_t* hpcrun_safe_get_td ( void  )

Definition at line 140 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_set_thread0_data()

void hpcrun_set_thread0_data ( void  )

Definition at line 108 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_set_thread_data()

void hpcrun_set_thread_data ( thread_data_t td)

Definition at line 116 of file thread_data.c.

Here is the caller graph for this function:

◆ hpcrun_thread_data_init()

void hpcrun_thread_data_init ( int  id,
cct_ctxt_t thr_ctxt,
int  is_child,
size_t  n_sources 
)

Definition at line 265 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_threaded_data()

void hpcrun_threaded_data ( void  )

Definition at line 195 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hpcrun_unthreaded_data()

void hpcrun_unthreaded_data ( void  )

Definition at line 187 of file thread_data.c.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ hpcrun_get_thread_data

thread_data_t*(* hpcrun_get_thread_data) (void)

Definition at line 168 of file thread_data.c.

◆ hpcrun_td_avail

bool(* hpcrun_td_avail) (void)

Definition at line 169 of file thread_data.c.

◆ HPCRUN_TraceBufferSz

const size_t HPCRUN_TraceBufferSz = HPCIO_RWBufferSz
static

Definition at line 248 of file thread_data.h.