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

Commit 2d59b6ed authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by Greg Kroah-Hartman
Browse files

perf record: Move sb_evlist to 'struct record'



[ Upstream commit bc477d7983e345262757568ec27be0395dc2fe73 ]

Where state related to a 'perf record' session is grouped.

Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Song Liu <songliubraving@fb.com>
Link: http://lore.kernel.org/lkml/20200429131106.27974-2-acme@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Stable-dep-of: 9c51f8788b5d ("perf env: Avoid recursively taking env->bpf_progs.lock")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 14a9769a
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -80,6 +80,7 @@ struct record {
	struct auxtrace_record	*itr;
	struct evlist	*evlist;
	struct perf_session	*session;
	struct evlist		*sb_evlist;
	int			realtime_prio;
	bool			no_buildid;
	bool			no_buildid_set;
@@ -1343,7 +1344,6 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
	struct perf_data *data = &rec->data;
	struct perf_session *session;
	bool disabled = false, draining = false;
	struct evlist *sb_evlist = NULL;
	int fd;
	float ratio = 0;

@@ -1455,9 +1455,9 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
	}

	if (!opts->no_bpf_event)
		bpf_event__add_sb_event(&sb_evlist, &session->header.env);
		bpf_event__add_sb_event(&rec->sb_evlist, &session->header.env);

	if (perf_evlist__start_sb_thread(sb_evlist, &rec->opts.target)) {
	if (perf_evlist__start_sb_thread(rec->sb_evlist, &rec->opts.target)) {
		pr_debug("Couldn't start the BPF side band thread:\nBPF programs starting from now on won't be annotatable\n");
		opts->no_bpf_event = true;
	}
@@ -1731,7 +1731,7 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
	perf_session__delete(session);

	if (!opts->no_bpf_event)
		perf_evlist__stop_sb_thread(sb_evlist);
		perf_evlist__stop_sb_thread(rec->sb_evlist);
	return status;
}