perf trace: Add pointer to BPF object containing __augmented_syscalls__
So that we can use it when looking for other components of that object file, such as other programs to add to the BPF_MAP_TYPE_PROG_ARRAY and use with bpf_tail_call(). Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lkml.kernel.org/n/tip-1ibmz7ouv6llqxajy7m8igtd@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
af4a0991f4
Коммит
c8c805707e
|
@ -96,6 +96,7 @@ struct trace {
|
|||
struct perf_evlist *evlist;
|
||||
struct machine *host;
|
||||
struct thread *current;
|
||||
struct bpf_object *bpf_obj;
|
||||
struct cgroup *cgroup;
|
||||
u64 base_time;
|
||||
FILE *output;
|
||||
|
@ -3895,6 +3896,20 @@ int cmd_trace(int argc, const char **argv)
|
|||
|
||||
if (evsel) {
|
||||
trace.syscalls.events.augmented = evsel;
|
||||
|
||||
evsel = perf_evlist__find_tracepoint_by_name(trace.evlist, "raw_syscalls:sys_enter");
|
||||
if (evsel == NULL) {
|
||||
pr_err("ERROR: raw_syscalls:sys_enter not found in the augmented BPF object\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (evsel->bpf_obj == NULL) {
|
||||
pr_err("ERROR: raw_syscalls:sys_enter not associated to a BPF object\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
trace.bpf_obj = evsel->bpf_obj;
|
||||
|
||||
trace__set_bpf_map_filtered_pids(&trace);
|
||||
trace__set_bpf_map_syscalls(&trace);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче