60 #include <linux/perf_event.h> 148 uintptr_t addr_start, uintptr_t addr_end)
162 npc.
lm_ip = addr_start + 1;
174 value.
p = (
void*)addr_start;
178 value.
p = (
void*)addr_end;
207 if (mmap_data->
addr) {
277 val_addr.
p = (
void *)mmap_data->
addr;
337 event_datacentric->
desc =
"Experimental counter: counting the memory latency.";
struct event_info_s * current
metric_set_t * hpcrun_reify_metric_set(cct_node_id_t cct_id)
static cct_node_t * datacentric_create_root_node(cct_node_t *root, uint16_t lm_id, uintptr_t addr_start, uintptr_t addr_end)
int datacentric_get_metric_addr_end()
static void DATACENTRIC_Dynamic(void)
static int datacentric_register(sample_source_t *self, event_custom_t *event, struct event_threshold_s *period)
event_handler_t * handler_fn
void datacentric_hw_handler(perf_mmap_data_t *mmap_data, cct_node_t *datacentric_node, cct_node_t *sample_node)
void hpcrun_metric_std_min(int metric_id, metric_set_t *set, hpcrun_metricVal_t val)
static void DATACENTRIC_Unknown(void)
cct_node_t * hpcrun_cct_insert_addr(cct_node_t *node, cct_addr_t *frm)
void hpcrun_metric_std_max(int metric_id, metric_set_t *set, hpcrun_metricVal_t val)
static void datacentric_handler(event_handler_arg_t *args)
cct_node_t * hpcrun_insert_special_node(cct_node_t *root, void *addr)
#define EVNAME_DATACENTRIC
int datacentric_hw_register(sample_source_t *self, event_custom_t *event, struct event_threshold_s *period)
void perf_util_get_default_threshold(struct event_threshold_s *threshold)
core_profile_trace_data_t core_profile_trace_data
struct perf_mmap_data_s * data
void * hpcrun_malloc(size_t size)
int datacentric_get_metric_addr_start()
void hpcrun_cct_set_node_variable(cct_node_t *node)
cct_node_t * hpcrun_cct_bundle_init_datacentric_node(cct_bundle_t *cct)
#define DATA_STATIC_MAGIC
register_event_t * register_fn
cct_node_t * hpcrun_cct_insert_path_return_leaf(cct_node_t *path, cct_node_t *root)
struct datatree_info_s * datatree_splay_lookup(void *key, void **start, void **end)
event_handle_type_t handle_type
static void DATACENTRIC_Static(void)
void hpcrun_cct_set_node_memaccess(cct_node_t *node)
void hpcrun_cct_set_node_allocation(cct_node_t *node)
void hpcrun_metric_std_inc(int metric_id, metric_set_t *set, hpcrun_metricVal_t incr)
thread_data_t *(* hpcrun_get_thread_data)(void)
int event_custom_register(event_custom_t *event)
cct_addr_t * hpcrun_cct_addr(cct_node_t *node)