diff options
Diffstat (limited to 'tools/perf/util/parse-events.c')
| -rw-r--r-- | tools/perf/util/parse-events.c | 98 | 
1 files changed, 49 insertions, 49 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 01e779b91c8e..f44aeba51d1f 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -34,7 +34,7 @@  #ifdef PARSER_DEBUG  extern int parse_events_debug;  #endif -int parse_events_parse(void *data, void *scanner); +int parse_events_parse(void *parse_state, void *scanner);  static int get_config_terms(struct list_head *head_config,  			    struct list_head *head_terms __maybe_unused); @@ -589,7 +589,7 @@ static int add_tracepoint_multi_sys(struct list_head *list, int *idx,  }  struct __add_bpf_event_param { -	struct parse_events_evlist *data; +	struct parse_events_state *parse_state;  	struct list_head *list;  	struct list_head *head_config;  }; @@ -599,7 +599,7 @@ static int add_bpf_event(const char *group, const char *event, int fd,  {  	LIST_HEAD(new_evsels);  	struct __add_bpf_event_param *param = _param; -	struct parse_events_evlist *evlist = param->data; +	struct parse_events_state *parse_state = param->parse_state;  	struct list_head *list = param->list;  	struct perf_evsel *pos;  	int err; @@ -607,8 +607,8 @@ static int add_bpf_event(const char *group, const char *event, int fd,  	pr_debug("add bpf event %s:%s and attach bpf program %d\n",  		 group, event, fd); -	err = parse_events_add_tracepoint(&new_evsels, &evlist->idx, group, -					  event, evlist->error, +	err = parse_events_add_tracepoint(&new_evsels, &parse_state->idx, group, +					  event, parse_state->error,  					  param->head_config);  	if (err) {  		struct perf_evsel *evsel, *tmp; @@ -632,14 +632,14 @@ static int add_bpf_event(const char *group, const char *event, int fd,  	return 0;  } -int parse_events_load_bpf_obj(struct parse_events_evlist *data, +int parse_events_load_bpf_obj(struct parse_events_state *parse_state,  			      struct list_head *list,  			      struct bpf_object *obj,  			      struct list_head *head_config)  {  	int err;  	char errbuf[BUFSIZ]; -	struct __add_bpf_event_param param = {data, list, head_config}; +	struct __add_bpf_event_param param = {parse_state, list, head_config};  	static bool registered_unprobe_atexit = false;  	if (IS_ERR(obj) || !obj) { @@ -680,13 +680,13 @@ int parse_events_load_bpf_obj(struct parse_events_evlist *data,  	return 0;  errout: -	data->error->help = strdup("(add -v to see detail)"); -	data->error->str = strdup(errbuf); +	parse_state->error->help = strdup("(add -v to see detail)"); +	parse_state->error->str = strdup(errbuf);  	return err;  }  static int -parse_events_config_bpf(struct parse_events_evlist *data, +parse_events_config_bpf(struct parse_events_state *parse_state,  			struct bpf_object *obj,  			struct list_head *head_config)  { @@ -705,28 +705,28 @@ parse_events_config_bpf(struct parse_events_evlist *data,  				 "Invalid config term for BPF object");  			errbuf[BUFSIZ - 1] = '\0'; -			data->error->idx = term->err_term; -			data->error->str = strdup(errbuf); +			parse_state->error->idx = term->err_term; +			parse_state->error->str = strdup(errbuf);  			return -EINVAL;  		} -		err = bpf__config_obj(obj, term, data->evlist, &error_pos); +		err = bpf__config_obj(obj, term, parse_state->evlist, &error_pos);  		if (err) { -			bpf__strerror_config_obj(obj, term, data->evlist, +			bpf__strerror_config_obj(obj, term, parse_state->evlist,  						 &error_pos, err, errbuf,  						 sizeof(errbuf)); -			data->error->help = strdup( +			parse_state->error->help = strdup(  "Hint:\tValid config terms:\n"  "     \tmap:[<arraymap>].value<indices>=[value]\n"  "     \tmap:[<eventmap>].event<indices>=[event]\n"  "\n"  "     \twhere <indices> is something like [0,3...5] or [all]\n"  "     \t(add -v to see detail)"); -			data->error->str = strdup(errbuf); +			parse_state->error->str = strdup(errbuf);  			if (err == -BPF_LOADER_ERRNO__OBJCONF_MAP_VALUE) -				data->error->idx = term->err_val; +				parse_state->error->idx = term->err_val;  			else -				data->error->idx = term->err_term + error_pos; +				parse_state->error->idx = term->err_term + error_pos;  			return err;  		}  	} @@ -762,7 +762,7 @@ split_bpf_config_terms(struct list_head *evt_head_config,  			list_move_tail(&term->list, obj_head_config);  } -int parse_events_load_bpf(struct parse_events_evlist *data, +int parse_events_load_bpf(struct parse_events_state *parse_state,  			  struct list_head *list,  			  char *bpf_file_name,  			  bool source, @@ -790,15 +790,15 @@ int parse_events_load_bpf(struct parse_events_evlist *data,  						   -err, errbuf,  						   sizeof(errbuf)); -		data->error->help = strdup("(add -v to see detail)"); -		data->error->str = strdup(errbuf); +		parse_state->error->help = strdup("(add -v to see detail)"); +		parse_state->error->str = strdup(errbuf);  		return err;  	} -	err = parse_events_load_bpf_obj(data, list, obj, head_config); +	err = parse_events_load_bpf_obj(parse_state, list, obj, head_config);  	if (err)  		return err; -	err = parse_events_config_bpf(data, obj, &obj_head_config); +	err = parse_events_config_bpf(parse_state, obj, &obj_head_config);  	/*  	 * Caller doesn't know anything about obj_head_config, @@ -1184,7 +1184,7 @@ int parse_events_add_tracepoint(struct list_head *list, int *idx,  					    err, head_config);  } -int parse_events_add_numeric(struct parse_events_evlist *data, +int parse_events_add_numeric(struct parse_events_state *parse_state,  			     struct list_head *list,  			     u32 type, u64 config,  			     struct list_head *head_config) @@ -1197,7 +1197,7 @@ int parse_events_add_numeric(struct parse_events_evlist *data,  	attr.config = config;  	if (head_config) { -		if (config_attr(&attr, head_config, data->error, +		if (config_attr(&attr, head_config, parse_state->error,  				config_term_common))  			return -EINVAL; @@ -1205,11 +1205,11 @@ int parse_events_add_numeric(struct parse_events_evlist *data,  			return -ENOMEM;  	} -	return add_event(list, &data->idx, &attr, +	return add_event(list, &parse_state->idx, &attr,  			 get_config_name(head_config), &config_terms);  } -int parse_events_add_pmu(struct parse_events_evlist *data, +int parse_events_add_pmu(struct parse_events_state *parse_state,  			 struct list_head *list, char *name,  			 struct list_head *head_config)  { @@ -1232,7 +1232,7 @@ int parse_events_add_pmu(struct parse_events_evlist *data,  	if (!head_config) {  		attr.type = pmu->type; -		evsel = __add_event(list, &data->idx, &attr, NULL, pmu->cpus, NULL); +		evsel = __add_event(list, &parse_state->idx, &attr, NULL, pmu->cpus, NULL);  		return evsel ? 0 : -ENOMEM;  	} @@ -1243,16 +1243,16 @@ int parse_events_add_pmu(struct parse_events_evlist *data,  	 * Configure hardcoded terms first, no need to check  	 * return value when called with fail == 0 ;)  	 */ -	if (config_attr(&attr, head_config, data->error, config_term_pmu)) +	if (config_attr(&attr, head_config, parse_state->error, config_term_pmu))  		return -EINVAL;  	if (get_config_terms(head_config, &config_terms))  		return -ENOMEM; -	if (perf_pmu__config(pmu, &attr, head_config, data->error)) +	if (perf_pmu__config(pmu, &attr, head_config, parse_state->error))  		return -EINVAL; -	evsel = __add_event(list, &data->idx, &attr, +	evsel = __add_event(list, &parse_state->idx, &attr,  			    get_config_name(head_config), pmu->cpus,  			    &config_terms);  	if (evsel) { @@ -1267,7 +1267,7 @@ int parse_events_add_pmu(struct parse_events_evlist *data,  	return evsel ? 0 : -ENOMEM;  } -int parse_events_multi_pmu_add(struct parse_events_evlist *data, +int parse_events_multi_pmu_add(struct parse_events_state *parse_state,  			       char *str, struct list_head **listp)  {  	struct list_head *head; @@ -1296,7 +1296,7 @@ int parse_events_multi_pmu_add(struct parse_events_evlist *data,  					return -1;  				list_add_tail(&term->list, head); -				if (!parse_events_add_pmu(data, list, +				if (!parse_events_add_pmu(parse_state, list,  						  pmu->name, head)) {  					pr_debug("%s -> %s/%s/\n", str,  						 pmu->name, alias->str); @@ -1628,7 +1628,7 @@ perf_pmu__parse_check(const char *name)  	return r ? r->type : PMU_EVENT_SYMBOL_ERR;  } -static int parse_events__scanner(const char *str, void *data, int start_token) +static int parse_events__scanner(const char *str, void *parse_state, int start_token)  {  	YY_BUFFER_STATE buffer;  	void *scanner; @@ -1643,7 +1643,7 @@ static int parse_events__scanner(const char *str, void *data, int start_token)  #ifdef PARSER_DEBUG  	parse_events_debug = 1;  #endif -	ret = parse_events_parse(data, scanner); +	ret = parse_events_parse(parse_state, scanner);  	parse_events__flush_buffer(buffer, scanner);  	parse_events__delete_buffer(buffer, scanner); @@ -1656,45 +1656,45 @@ static int parse_events__scanner(const char *str, void *data, int start_token)   */  int parse_events_terms(struct list_head *terms, const char *str)  { -	struct parse_events_terms data = { +	struct parse_events_state parse_state = {  		.terms = NULL,  	};  	int ret; -	ret = parse_events__scanner(str, &data, PE_START_TERMS); +	ret = parse_events__scanner(str, &parse_state, PE_START_TERMS);  	if (!ret) { -		list_splice(data.terms, terms); -		zfree(&data.terms); +		list_splice(parse_state.terms, terms); +		zfree(&parse_state.terms);  		return 0;  	} -	parse_events_terms__delete(data.terms); +	parse_events_terms__delete(parse_state.terms);  	return ret;  }  int parse_events(struct perf_evlist *evlist, const char *str,  		 struct parse_events_error *err)  { -	struct parse_events_evlist data = { -		.list   = LIST_HEAD_INIT(data.list), +	struct parse_events_state parse_state = { +		.list   = LIST_HEAD_INIT(parse_state.list),  		.idx    = evlist->nr_entries,  		.error  = err,  		.evlist = evlist,  	};  	int ret; -	ret = parse_events__scanner(str, &data, PE_START_EVENTS); +	ret = parse_events__scanner(str, &parse_state, PE_START_EVENTS);  	perf_pmu__parse_cleanup();  	if (!ret) {  		struct perf_evsel *last; -		if (list_empty(&data.list)) { +		if (list_empty(&parse_state.list)) {  			WARN_ONCE(true, "WARNING: event parser found nothing");  			return -1;  		} -		perf_evlist__splice_list_tail(evlist, &data.list); -		evlist->nr_groups += data.nr_groups; +		perf_evlist__splice_list_tail(evlist, &parse_state.list); +		evlist->nr_groups += parse_state.nr_groups;  		last = perf_evlist__last(evlist);  		last->cmdline_group_boundary = true; @@ -2124,7 +2124,7 @@ void print_sdt_events(const char *subsys_glob, const char *event_glob,  		return;  	}  	strlist__for_each_entry(nd, bidlist) { -		pcache = probe_cache__new(nd->s); +		pcache = probe_cache__new(nd->s, NULL);  		if (!pcache)  			continue;  		list_for_each_entry(ent, &pcache->entries, node) { @@ -2520,10 +2520,10 @@ void parse_events__clear_array(struct parse_events_array *a)  	zfree(&a->ranges);  } -void parse_events_evlist_error(struct parse_events_evlist *data, +void parse_events_evlist_error(struct parse_events_state *parse_state,  			       int idx, const char *str)  { -	struct parse_events_error *err = data->error; +	struct parse_events_error *err = parse_state->error;  	if (!err)  		return;  | 
