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

Commit 823254ed authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf evsel: Convert to _is_group_leader method



Convert perf_evsel__is_group_member to perf_evsel__is_group_leader.
This is because the most usecases are using negative form to check
whether the given evsel is a leader or not and it's IMHO somewhat
ambiguous - leader also *is* a member of the group.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1354171126-14387-4-git-send-email-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 2cfda562
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ static int create_perf_stat_counter(struct perf_evsel *evsel)
	}

	if (!perf_target__has_task(&target) &&
	    !perf_evsel__is_group_member(evsel)) {
	    perf_evsel__is_group_leader(evsel)) {
		attr->disabled = 1;
		attr->enable_on_exec = 1;
	}
+10 −10
Original line number Diff line number Diff line
@@ -521,7 +521,7 @@ static int test__group1(struct perf_evlist *evlist)
	TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest);
	TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	/* cycles:upp */
	evsel = perf_evsel__next(evsel);
@@ -557,7 +557,7 @@ static int test__group2(struct perf_evlist *evlist)
	TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest);
	TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	/* cache-references + :u modifier */
	evsel = perf_evsel__next(evsel);
@@ -583,7 +583,7 @@ static int test__group2(struct perf_evlist *evlist)
	TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest);
	TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	return 0;
}
@@ -606,7 +606,7 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused)
	TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest);
	TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));
	TEST_ASSERT_VAL("wrong group name",
		!strcmp(leader->group_name, "group1"));

@@ -636,7 +636,7 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused)
	TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest);
	TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));
	TEST_ASSERT_VAL("wrong group name",
		!strcmp(leader->group_name, "group2"));

@@ -663,7 +663,7 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused)
	TEST_ASSERT_VAL("wrong exclude guest", !evsel->attr.exclude_guest);
	TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	return 0;
}
@@ -687,7 +687,7 @@ static int test__group4(struct perf_evlist *evlist __maybe_unused)
	TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 1);
	TEST_ASSERT_VAL("wrong group name", !evsel->group_name);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	/* instructions:kp + p */
	evsel = perf_evsel__next(evsel);
@@ -724,7 +724,7 @@ static int test__group5(struct perf_evlist *evlist __maybe_unused)
	TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong group name", !evsel->group_name);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	/* instructions + G */
	evsel = perf_evsel__next(evsel);
@@ -751,7 +751,7 @@ static int test__group5(struct perf_evlist *evlist __maybe_unused)
	TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong group name", !evsel->group_name);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	/* instructions:G */
	evsel = perf_evsel__next(evsel);
@@ -777,7 +777,7 @@ static int test__group5(struct perf_evlist *evlist __maybe_unused)
	TEST_ASSERT_VAL("wrong exclude guest", evsel->attr.exclude_guest);
	TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host);
	TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip);
	TEST_ASSERT_VAL("wrong leader", !perf_evsel__is_group_member(evsel));
	TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel));

	return 0;
}
+2 −2
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ void perf_evlist__disable(struct perf_evlist *evlist)

	for (cpu = 0; cpu < evlist->cpus->nr; cpu++) {
		list_for_each_entry(pos, &evlist->entries, node) {
			if (perf_evsel__is_group_member(pos))
			if (!perf_evsel__is_group_leader(pos))
				continue;
			for (thread = 0; thread < evlist->threads->nr; thread++)
				ioctl(FD(pos, cpu, thread),
@@ -237,7 +237,7 @@ void perf_evlist__enable(struct perf_evlist *evlist)

	for (cpu = 0; cpu < cpu_map__nr(evlist->cpus); cpu++) {
		list_for_each_entry(pos, &evlist->entries, node) {
			if (perf_evsel__is_group_member(pos))
			if (!perf_evsel__is_group_leader(pos))
				continue;
			for (thread = 0; thread < evlist->threads->nr; thread++)
				ioctl(FD(pos, cpu, thread),
+3 −3
Original line number Diff line number Diff line
@@ -520,14 +520,14 @@ void perf_evsel__config(struct perf_evsel *evsel,
	 * Disabling only independent events or group leaders,
	 * keeping group members enabled.
	 */
	if (!perf_evsel__is_group_member(evsel))
	if (perf_evsel__is_group_leader(evsel))
		attr->disabled = 1;

	/*
	 * Setting enable_on_exec for independent events and
	 * group leaders for traced executed by perf.
	 */
	if (perf_target__none(&opts->target) && !perf_evsel__is_group_member(evsel))
	if (perf_target__none(&opts->target) && perf_evsel__is_group_leader(evsel))
		attr->enable_on_exec = 1;
}

@@ -708,7 +708,7 @@ static int get_group_fd(struct perf_evsel *evsel, int cpu, int thread)
	struct perf_evsel *leader = evsel->leader;
	int fd;

	if (!perf_evsel__is_group_member(evsel))
	if (perf_evsel__is_group_leader(evsel))
		return -1;

	/*
+2 −2
Original line number Diff line number Diff line
@@ -226,8 +226,8 @@ static inline struct perf_evsel *perf_evsel__next(struct perf_evsel *evsel)
	return list_entry(evsel->node.next, struct perf_evsel, node);
}

static inline bool perf_evsel__is_group_member(const struct perf_evsel *evsel)
static inline bool perf_evsel__is_group_leader(const struct perf_evsel *evsel)
{
	return evsel->leader != evsel;
	return evsel->leader == evsel;
}
#endif /* __PERF_EVSEL_H */