67 #define EVNAME_MEMORY_CENTRIC "MEMCENTRIC" 130 if (event_info ==
NULL)
146 metric_page_fault,
"PAGE-FAULTS",
154 page_address,
"PAGE-ADDR",
160 u64 sample_type = PERF_SAMPLE_IP | PERF_SAMPLE_TID |
161 PERF_SAMPLE_TIME | PERF_SAMPLE_CALLCHAIN |
162 PERF_SAMPLE_CPU | PERF_SAMPLE_PERIOD;
165 struct perf_event_attr *attr = &(event_info->
attr);
166 attr->config = PERF_COUNT_SW_PAGE_FAULTS;
167 attr->type = PERF_TYPE_SOFTWARE;
178 event_info->
attr.sample_id_all = 1;
181 attr->config, 1, page_address, event_info);;
196 event_memcentric->
desc =
"Experimental counter: identifying first-touch memory address.";
struct event_info_s * current
metric_aux_info_t * perf_event_info
static int memcentric_register(sample_source_t *self, event_custom_t *event, struct event_threshold_s *period)
metric_set_t * hpcrun_reify_metric_set(cct_node_id_t cct_id)
int perf_skid_set_max_precise_ip(struct perf_event_attr *attr)
struct perf_event_attr attr
event_handler_t * handler_fn
struct event_custom_s * metric_custom
metric_desc_t * hpcrun_set_metric_info_and_period(int metric_id, const char *name, MetricFlags_ValFmt_t valFmt, size_t period, metric_desc_properties_t prop)
cct_node_t * hpcrun_insert_special_node(cct_node_t *root, void *addr)
void perf_util_get_default_threshold(struct event_threshold_s *threshold)
#define FUNCTION_FOLDER_NAME(name)
core_profile_trace_data_t core_profile_trace_data
struct perf_mmap_data_s * data
static void DATACENTRIC()
void * hpcrun_malloc(size_t size)
cct_metric_data_t * hpcrun_metric_set_loc(metric_set_t *s, int id)
int perf_util_attr_init(const char *event_name, struct perf_event_attr *attr, bool usePeriod, u64 threshold, u64 sampletype)
#define METHOD_CALL(obj, meth,...)
#define FUNCTION_FOLDER(name)
register_event_t * register_fn
cct_node_t * hpcrun_cct_insert_path_return_leaf(cct_node_t *path, cct_node_t *root)
#define EVNAME_MEMORY_CENTRIC
struct datatree_info_s * datatree_splay_lookup(void *key, void **start, void **end)
int hpcrun_new_metric(void)
event_handle_type_t handle_type
#define POINTER_TO_FUNCTION
static void memcentric_handler(event_handler_arg_t *args)
thread_data_t *(* hpcrun_get_thread_data)(void)
#define metric_property_none
int event_custom_register(event_custom_t *event)