HPCToolkit
blame-map.c File Reference
#include <assert.h>
#include "blame-map.h"
#include <hpcrun/messages/messages.h>
#include <lib/prof-lean/stdatomic.h>
#include <memory/hpcrun-malloc.h>
Include dependency graph for blame-map.c:

Go to the source code of this file.

Classes

struct  blame_parts_t
 
union  blame_entry_t
 

Macros

#define N   (128*1024)
 
#define INDEX_MASK   ((N)-1)
 
#define LOSSLESS_BLAME
 
#define do_lock()
 
#define do_unlock()
 

Functions

uint32_t blame_map_obj_id (uint64_t obj)
 
uint32_t blame_map_hash (uint64_t obj)
 
uint64_t blame_map_entry (uint64_t obj, uint32_t metric_value)
 
blame_entry_tblame_map_new (void)
 
void blame_map_init (blame_entry_t table[])
 
void blame_map_add_blame (blame_entry_t table[], uint64_t obj, uint32_t metric_value)
 
uint64_t blame_map_get_blame (blame_entry_t table[], uint64_t obj)
 

Variables

static uint64_t volatile thelock
 

Macro Definition Documentation

◆ do_lock

#define do_lock ( )

Definition at line 92 of file blame-map.c.

◆ do_unlock

#define do_unlock ( )

Definition at line 93 of file blame-map.c.

◆ INDEX_MASK

#define INDEX_MASK   ((N)-1)

Definition at line 74 of file blame-map.c.

◆ LOSSLESS_BLAME

#define LOSSLESS_BLAME

Definition at line 76 of file blame-map.c.

◆ N

#define N   (128*1024)

Definition at line 73 of file blame-map.c.

Function Documentation

◆ blame_map_add_blame()

void blame_map_add_blame ( blame_entry_t  table[],
uint64_t  obj,
uint32_t  metric_value 
)

Definition at line 177 of file blame-map.c.

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

◆ blame_map_entry()

uint64_t blame_map_entry ( uint64_t  obj,
uint32_t  metric_value 
)

Definition at line 143 of file blame-map.c.

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

◆ blame_map_get_blame()

uint64_t blame_map_get_blame ( blame_entry_t  table[],
uint64_t  obj 
)

Definition at line 233 of file blame-map.c.

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

◆ blame_map_hash()

uint32_t blame_map_hash ( uint64_t  obj)

Definition at line 136 of file blame-map.c.

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

◆ blame_map_init()

void blame_map_init ( blame_entry_t  table[])

Definition at line 166 of file blame-map.c.

Here is the caller graph for this function:

◆ blame_map_new()

blame_entry_t* blame_map_new ( void  )

Definition at line 158 of file blame-map.c.

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

◆ blame_map_obj_id()

uint32_t blame_map_obj_id ( uint64_t  obj)

Definition at line 129 of file blame-map.c.

Here is the caller graph for this function:

Variable Documentation

◆ thelock

uint64_t volatile thelock
static

Definition at line 120 of file blame-map.c.