#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <stdint.h>
#include <string.h>
#include <ucontext.h>
#include <stdlib.h>
#include <malloc.h>
#include <unistd.h>
#include <sys/mman.h>
#include <messages/messages.h>
#include <safe-sampling.h>
#include <sample_event.h>
#include <monitor-exts/monitor_ext.h>
#include <sample-sources/datacentric/datacentric.h>
#include "data_tree.h"
#include "data-overrides.h"
#include <utilities/arch/inline-asm-gctxt.h>
#include <utilities/arch/mcontext.h>
Go to the source code of this file.
|
static float | string_to_prob (char *str) |
|
static bool | is_initialized () |
|
static int | is_active () |
|
static void | metric_initialize () |
|
static void | datacentric_initialize (void) |
|
static int | datacentric_get_malloc_loc (void *sys_ptr, size_t bytes, size_t align, void **appl_ptr, datatree_info_t **info_ptr) |
|
static int | datacentric_get_free_loc (void *appl_ptr, void **sys_ptr, datatree_info_t **info_ptr) |
|
static void | datacentric_add_leakinfo (const char *name, void *sys_ptr, void *appl_ptr, datatree_info_t *info_ptr, size_t bytes, ucontext_t *uc, int loc) |
|
static void * | datacentric_malloc_helper (const char *name, size_t bytes, size_t align, int clear, ucontext_t *uc, int *ret) |
|
int MONITOR_EXT_WRAP_NAME() | posix_memalign (void **memptr, size_t alignment, size_t bytes) |
|
void *MONITOR_EXT_WRAP_NAME() | memalign (size_t boundary, size_t bytes) |
|
void *MONITOR_EXT_WRAP_NAME() | valloc (size_t bytes) |
|
void *MONITOR_EXT_WRAP_NAME() | malloc (size_t bytes) |
|
void *MONITOR_EXT_WRAP_NAME() | calloc (size_t nmemb, size_t bytes) |
|
void MONITOR_EXT_WRAP_NAME() | free (void *ptr) |
|
void *MONITOR_EXT_WRAP_NAME() | realloc (void *ptr, size_t bytes) |
|
int | datacentric_get_metric_addr_end () |
|
int | datacentric_get_metric_addr_start () |
|
◆ __USE_XOPEN_EXTENDED
#define __USE_XOPEN_EXTENDED |
◆ _XOPEN_SOURCE
#define _XOPEN_SOURCE 600 |
◆ DATACENTRIC_DEFAULT_PAGESIZE
#define DATACENTRIC_DEFAULT_PAGESIZE 4096 |
◆ DATACENTRIC_MAGIC
#define DATACENTRIC_MAGIC 0x68706374 |
◆ DATACENTRIC_USE_HYBRID_LAYOUT
#define DATACENTRIC_USE_HYBRID_LAYOUT 0 |
◆ DEFAULT_PROB
◆ HPCRUN_DATACENTRIC_PROB
#define HPCRUN_DATACENTRIC_PROB "HPCRUN_DATACENTRIC_PROB" |
◆ NUM_DATA_METRICS
#define NUM_DATA_METRICS 2 |
◆ real_free
#define real_free __libc_free |
◆ real_malloc
#define real_malloc __libc_malloc |
◆ real_memalign
#define real_memalign __libc_memalign |
◆ real_realloc
#define real_realloc __libc_realloc |
◆ real_valloc
#define real_valloc __libc_valloc |
◆ free_fcn
typedef void free_fcn(void *) |
◆ malloc_fcn
typedef void* malloc_fcn(size_t) |
◆ memalign_fcn
typedef void* memalign_fcn(size_t, size_t) |
◆ realloc_fcn
typedef void* realloc_fcn(void *, size_t) |
◆ valloc_fcn
typedef void* valloc_fcn(size_t) |
◆ anonymous enum
Enumerator |
---|
DATACENTRIC_LOC_HEAD | |
DATACENTRIC_LOC_FOOT | |
DATACENTRIC_LOC_NONE | |
Definition at line 160 of file data-overrides.c.
◆ data_overrides_status_e
Enumerator |
---|
OVERRIDES_UNINITIALIZED | |
OVERRIDES_INITIALIZED | |
OVERRIDES_ACTIVE | |
Definition at line 166 of file data-overrides.c.
◆ calloc()
◆ datacentric_add_leakinfo()
static void datacentric_add_leakinfo |
( |
const char * |
name, |
|
|
void * |
sys_ptr, |
|
|
void * |
appl_ptr, |
|
|
datatree_info_t * |
info_ptr, |
|
|
size_t |
bytes, |
|
|
ucontext_t * |
uc, |
|
|
int |
loc |
|
) |
| |
|
static |
◆ datacentric_get_free_loc()
static int datacentric_get_free_loc |
( |
void * |
appl_ptr, |
|
|
void ** |
sys_ptr, |
|
|
datatree_info_t ** |
info_ptr |
|
) |
| |
|
static |
◆ datacentric_get_malloc_loc()
static int datacentric_get_malloc_loc |
( |
void * |
sys_ptr, |
|
|
size_t |
bytes, |
|
|
size_t |
align, |
|
|
void ** |
appl_ptr, |
|
|
datatree_info_t ** |
info_ptr |
|
) |
| |
|
static |
◆ datacentric_get_metric_addr_end()
int datacentric_get_metric_addr_end |
( |
| ) |
|
◆ datacentric_get_metric_addr_start()
int datacentric_get_metric_addr_start |
( |
| ) |
|
◆ datacentric_initialize()
static void datacentric_initialize |
( |
void |
| ) |
|
|
static |
◆ datacentric_malloc_helper()
static void* datacentric_malloc_helper |
( |
const char * |
name, |
|
|
size_t |
bytes, |
|
|
size_t |
align, |
|
|
int |
clear, |
|
|
ucontext_t * |
uc, |
|
|
int * |
ret |
|
) |
| |
|
static |
◆ free()
◆ is_active()
- Returns
- true if the module was initialized, and active
Definition at line 231 of file data-overrides.c.
◆ is_initialized()
static bool is_initialized |
( |
| ) |
|
|
static |
◆ malloc()
◆ memalign()
◆ metric_initialize()
static void metric_initialize |
( |
| ) |
|
|
static |
initialize metrics if the initialization is successful, the module moves to active phase
Definition at line 244 of file data-overrides.c.
◆ posix_memalign()
◆ realloc()
◆ string_to_prob()
static float string_to_prob |
( |
char * |
str | ) |
|
|
static |
◆ valloc()
◆ addr_end_metric_id
int addr_end_metric_id = -1 |
|
static |
◆ addr_start_metric_id
int addr_start_metric_id = -1 |
|
static |
◆ datacentric_pagesize
◆ datacentric_prob
float datacentric_prob = 0.0 |
|
static |
◆ datainfo_size
◆ loc_name
◆ MAX_CHAR_FORMULA
const unsigned int MAX_CHAR_FORMULA = 32 |
|
static |
◆ overrides_status
◆ real_free
◆ real_malloc
◆ real_memalign
◆ real_realloc
◆ real_valloc
◆ use_datacentric_prob
int use_datacentric_prob = 0 |
|
static |