Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9db1763c authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf tools: Remove __event_name

Not needed anymore, the parsing code can just leave evsel->name as NULL
and the first call to perf_evsel__name() will do exactly what was being
pre-cached using __event_name().

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-cn2eiijcinnc97buod8cs34m@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 22c8b843
Loading
Loading
Loading
Loading
+6 −55
Original line number Diff line number Diff line
@@ -161,24 +161,6 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config)
	return NULL;
}

#define TP_PATH_LEN (MAX_EVENT_LENGTH * 2 + 1)
static const char *tracepoint_id_to_name(u64 config)
{
	static char buf[TP_PATH_LEN];
	struct tracepoint_path *path;

	path = tracepoint_id_to_path(config);
	if (path) {
		snprintf(buf, TP_PATH_LEN, "%s:%s", path->system, path->name);
		free(path->name);
		free(path->system);
		free(path);
	} else
		snprintf(buf, TP_PATH_LEN, "%s:%s", "unknown", "unknown");

	return buf;
}

const char *event_type(int type)
{
	switch (type) {
@@ -201,36 +183,6 @@ const char *event_type(int type)
	return "unknown";
}

const char *__event_name(int type, u64 config)
{
	static char buf[32];

	if (type == PERF_TYPE_RAW) {
		sprintf(buf, "raw 0x%" PRIx64, config);
		return buf;
	}

	switch (type) {
	case PERF_TYPE_HARDWARE:
		return __perf_evsel__hw_name(config);

	case PERF_TYPE_HW_CACHE:
		__perf_evsel__hw_cache_name(config, buf, sizeof(buf));
		return buf;

	case PERF_TYPE_SOFTWARE:
		return __perf_evsel__sw_name(config);

	case PERF_TYPE_TRACEPOINT:
		return tracepoint_id_to_name(config);

	default:
		break;
	}

	return "unknown";
}

static int add_event(struct list_head **_list, int *idx,
		     struct perf_event_attr *attr, char *name)
{
@@ -252,6 +204,7 @@ static int add_event(struct list_head **_list, int *idx,
		return -ENOMEM;
	}

	if (name)
		evsel->name = strdup(name);
	list_add_tail(&evsel->node, list);
	*_list = list;
@@ -545,8 +498,7 @@ int parse_events_add_numeric(struct list_head **list, int *idx,
	    config_attr(&attr, head_config, 1))
		return -EINVAL;

	return add_event(list, idx, &attr,
			 (char *) __event_name(type, config));
	return add_event(list, idx, &attr, NULL);
}

static int parse_events__is_name_term(struct parse_events__term *term)
@@ -554,8 +506,7 @@ static int parse_events__is_name_term(struct parse_events__term *term)
	return term->type_term == PARSE_EVENTS__TERM_TYPE_NAME;
}

static char *pmu_event_name(struct perf_event_attr *attr,
			    struct list_head *head_terms)
static char *pmu_event_name(struct list_head *head_terms)
{
	struct parse_events__term *term;

@@ -563,7 +514,7 @@ static char *pmu_event_name(struct perf_event_attr *attr,
		if (parse_events__is_name_term(term))
			return term->val.str;

	return (char *) __event_name(PERF_TYPE_RAW, attr->config);
	return NULL;
}

int parse_events_add_pmu(struct list_head **list, int *idx,
@@ -588,7 +539,7 @@ int parse_events_add_pmu(struct list_head **list, int *idx,
		return -EINVAL;

	return add_event(list, idx, &attr,
			 pmu_event_name(&attr, head_config));
			 pmu_event_name(head_config));
}

void parse_events_update_lists(struct list_head *list_event,
+0 −1
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ extern struct tracepoint_path *tracepoint_id_to_path(u64 config);
extern bool have_tracepoints(struct list_head *evlist);

const char *event_type(int type);
extern const char *__event_name(int type, u64 config);

extern int parse_events_option(const struct option *opt, const char *str,
			       int unset);