perf top: Move sb_evlist to 'struct perf_top'
[ Upstream commit ca6c9c8b107f9788662117587cd24bbb19cea94d ] Where state related to a 'perf top' session is grouped. Acked-by: Jiri 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-3-acme@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: 9c51f8788b5d ("perf env: Avoid recursively taking env->bpf_progs.lock") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
2d59b6ed99
commit
739b800279
@ -1542,7 +1542,6 @@ int cmd_top(int argc, const char **argv)
|
|||||||
OPTS_EVSWITCH(&top.evswitch),
|
OPTS_EVSWITCH(&top.evswitch),
|
||||||
OPT_END()
|
OPT_END()
|
||||||
};
|
};
|
||||||
struct evlist *sb_evlist = NULL;
|
|
||||||
const char * const top_usage[] = {
|
const char * const top_usage[] = {
|
||||||
"perf top [<options>]",
|
"perf top [<options>]",
|
||||||
NULL
|
NULL
|
||||||
@ -1684,9 +1683,9 @@ int cmd_top(int argc, const char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!top.record_opts.no_bpf_event)
|
if (!top.record_opts.no_bpf_event)
|
||||||
bpf_event__add_sb_event(&sb_evlist, &perf_env);
|
bpf_event__add_sb_event(&top.sb_evlist, &perf_env);
|
||||||
|
|
||||||
if (perf_evlist__start_sb_thread(sb_evlist, target)) {
|
if (perf_evlist__start_sb_thread(top.sb_evlist, target)) {
|
||||||
pr_debug("Couldn't start the BPF side band thread:\nBPF programs starting from now on won't be annotatable\n");
|
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;
|
opts->no_bpf_event = true;
|
||||||
}
|
}
|
||||||
@ -1694,7 +1693,7 @@ int cmd_top(int argc, const char **argv)
|
|||||||
status = __cmd_top(&top);
|
status = __cmd_top(&top);
|
||||||
|
|
||||||
if (!opts->no_bpf_event)
|
if (!opts->no_bpf_event)
|
||||||
perf_evlist__stop_sb_thread(sb_evlist);
|
perf_evlist__stop_sb_thread(top.sb_evlist);
|
||||||
|
|
||||||
out_delete_evlist:
|
out_delete_evlist:
|
||||||
evlist__delete(top.evlist);
|
evlist__delete(top.evlist);
|
||||||
|
@ -18,7 +18,7 @@ struct perf_session;
|
|||||||
|
|
||||||
struct perf_top {
|
struct perf_top {
|
||||||
struct perf_tool tool;
|
struct perf_tool tool;
|
||||||
struct evlist *evlist;
|
struct evlist *evlist, *sb_evlist;
|
||||||
struct record_opts record_opts;
|
struct record_opts record_opts;
|
||||||
struct annotation_options annotation_opts;
|
struct annotation_options annotation_opts;
|
||||||
struct evswitch evswitch;
|
struct evswitch evswitch;
|
||||||
|
Loading…
Reference in New Issue
Block a user