Commit 3a683120 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

libperf: Move 'nr_groups' from tools/perf to evlist::nr_groups



Move evsel::nr_groups to perf_evsel::nr_groups, so we can move the group
interface to libperf.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Requested-by: default avatarShunsuke Nakamura <nakamura.shun@fujitsu.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20210706151704.73662-5-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent fba7c866
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ struct perf_mmap_param;
struct perf_evlist {
	struct list_head	 entries;
	int			 nr_entries;
	int			 nr_groups;
	bool			 has_user_cpus;
	struct perf_cpu_map	*cpus;
	struct perf_cpu_map	*all_cpus;
+1 −1
Original line number Diff line number Diff line
@@ -1776,7 +1776,7 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
		rec->tool.ordered_events = false;
	}

	if (!rec->evlist->nr_groups)
	if (!rec->evlist->core.nr_groups)
		perf_header__clear_feat(&session->header, HEADER_GROUP_DESC);

	if (data->is_pipe) {
+1 −1
Original line number Diff line number Diff line
@@ -1432,7 +1432,7 @@ int cmd_report(int argc, const char **argv)

	setup_forced_leader(&report, session->evlist);

	if (symbol_conf.group_sort_idx && !session->evlist->nr_groups) {
	if (symbol_conf.group_sort_idx && !session->evlist->core.nr_groups) {
		parse_options_usage(NULL, options, "group-sort-idx", 0);
		ret = -EINVAL;
		goto error;
+1 −1
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ static int do_test(struct bpf_object *obj, int (*func)(void),
	}

	evlist__splice_list_tail(evlist, &parse_state.list);
	evlist->nr_groups = parse_state.nr_groups;
	evlist->core.nr_groups = parse_state.nr_groups;

	evlist__config(evlist, &opts, NULL);

+11 −11
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ static int test__checkevent_tracepoint(struct evlist *evlist)
	struct evsel *evsel = evlist__first(evlist);

	TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->core.nr_groups);
	TEST_ASSERT_VAL("wrong type", PERF_TYPE_TRACEPOINT == evsel->core.attr.type);
	TEST_ASSERT_VAL("wrong sample_type",
		PERF_TP_SAMPLE_TYPE == evsel->core.attr.sample_type);
@@ -62,7 +62,7 @@ static int test__checkevent_tracepoint_multi(struct evlist *evlist)
	struct evsel *evsel;

	TEST_ASSERT_VAL("wrong number of entries", evlist->core.nr_entries > 1);
	TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->core.nr_groups);

	evlist__for_each_entry(evlist, evsel) {
		TEST_ASSERT_VAL("wrong type",
@@ -668,7 +668,7 @@ static int test__group1(struct evlist *evlist)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->core.nr_groups);

	/* instructions:k */
	evsel = leader = evlist__first(evlist);
@@ -710,7 +710,7 @@ static int test__group2(struct evlist *evlist)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 3 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->core.nr_groups);

	/* faults + :ku modifier */
	evsel = leader = evlist__first(evlist);
@@ -765,7 +765,7 @@ static int test__group3(struct evlist *evlist __maybe_unused)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 5 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 2 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 2 == evlist->core.nr_groups);

	/* group1 syscalls:sys_enter_openat:H */
	evsel = leader = evlist__first(evlist);
@@ -857,7 +857,7 @@ static int test__group4(struct evlist *evlist __maybe_unused)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->core.nr_groups);

	/* cycles:u + p */
	evsel = leader = evlist__first(evlist);
@@ -901,7 +901,7 @@ static int test__group5(struct evlist *evlist __maybe_unused)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 5 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 2 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 2 == evlist->core.nr_groups);

	/* cycles + G */
	evsel = leader = evlist__first(evlist);
@@ -987,7 +987,7 @@ static int test__group_gh1(struct evlist *evlist)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->core.nr_groups);

	/* cycles + :H group modifier */
	evsel = leader = evlist__first(evlist);
@@ -1027,7 +1027,7 @@ static int test__group_gh2(struct evlist *evlist)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->core.nr_groups);

	/* cycles + :G group modifier */
	evsel = leader = evlist__first(evlist);
@@ -1067,7 +1067,7 @@ static int test__group_gh3(struct evlist *evlist)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->core.nr_groups);

	/* cycles:G + :u group modifier */
	evsel = leader = evlist__first(evlist);
@@ -1107,7 +1107,7 @@ static int test__group_gh4(struct evlist *evlist)
	struct evsel *evsel, *leader;

	TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups);
	TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->core.nr_groups);

	/* cycles:G + :uG group modifier */
	evsel = leader = evlist__first(evlist);
Loading