diff options
author | Ingo Molnar <mingo@kernel.org> | 2019-07-30 10:02:25 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2019-07-30 10:02:25 +0200 |
commit | 7f06d0aa530cc61cb5e048d4eb34921dee12058a (patch) | |
tree | 575a3fce988575a37272cdd22d82ad7c174bc947 /tools/perf/builtin-annotate.c | |
parent | b3c303be4c35856945cb17ec639b94637447dae2 (diff) | |
parent | 123a039d0d54de6d5bafd551e7aa17569e13e315 (diff) |
Merge tag 'perf-core-for-mingo-5.4-20190729' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
perf trace:
Arnaldo Carvalho de Melo:
- Use BPF_MAP_TYPE_PROG_ARRAY + bpf_tail_call() for augmenting raw syscalls,
i.e. copy pointers passed to/from userspace. The use of a table per syscall
to tell the BPF program what to copy made the raw_syscalls:sys_enter/exit
programs a bit complex, the scratch space would have to be bigger to allow
for checking all args to see which ones were a pathname, so use a PROG_ARRAY
map instead, test it with syscalls that receive multiple pathnames at
different registers (rename, renameat, etc).
- Beautify various syscalls using this new infrastructure, and also add code
that looks for syscalls with BPF augmenters, such as "open", and then reuse
it with syscalls not yet having a specific augmenter, but that copies the
same argument with the same type, say "statfs" can initially reuse "open",
beautifier, as both have as its first arg a "const char *".
- Do not using fd->pathname beautifier when the 'close' syscall isn't enabled,
as we can't invalidate that mapping.
core:
Jiri Olsa:
- Introduce tools/perf/lib/, that eventually will move to tools/lib/perf/, to
allow other tools to use the abstractions and code perf uses to set up
the perf ring buffer and set up the many possible combinations in allowed
by the kernel, starting with 'struct perf_evsel' and 'struct perf_evlist'.
perf vendor events:
Michael Petlan:
- Add missing event description to power9 event definitions.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/builtin-annotate.c')
-rw-r--r-- | tools/perf/builtin-annotate.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index e0aa14faf2b5..9bb637165bf9 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c @@ -156,7 +156,7 @@ static int hist_iter__branch_callback(struct hist_entry_iter *iter, struct hist_entry *he = iter->he; struct branch_info *bi; struct perf_sample *sample = iter->sample; - struct perf_evsel *evsel = iter->evsel; + struct evsel *evsel = iter->evsel; int err; bi = he->branch_info; @@ -171,7 +171,7 @@ out: return err; } -static int process_branch_callback(struct perf_evsel *evsel, +static int process_branch_callback(struct evsel *evsel, struct perf_sample *sample, struct addr_location *al __maybe_unused, struct perf_annotate *ann, @@ -208,7 +208,7 @@ static bool has_annotation(struct perf_annotate *ann) return ui__has_annotation() || ann->use_stdio2; } -static int perf_evsel__add_sample(struct perf_evsel *evsel, +static int perf_evsel__add_sample(struct evsel *evsel, struct perf_sample *sample, struct addr_location *al, struct perf_annotate *ann, @@ -257,7 +257,7 @@ static int perf_evsel__add_sample(struct perf_evsel *evsel, static int process_sample_event(struct perf_tool *tool, union perf_event *event, struct perf_sample *sample, - struct perf_evsel *evsel, + struct evsel *evsel, struct machine *machine) { struct perf_annotate *ann = container_of(tool, struct perf_annotate, tool); @@ -293,7 +293,7 @@ static int process_feature_event(struct perf_session *session, } static int hist_entry__tty_annotate(struct hist_entry *he, - struct perf_evsel *evsel, + struct evsel *evsel, struct perf_annotate *ann) { if (!ann->use_stdio2) @@ -303,7 +303,7 @@ static int hist_entry__tty_annotate(struct hist_entry *he, } static void hists__find_annotations(struct hists *hists, - struct perf_evsel *evsel, + struct evsel *evsel, struct perf_annotate *ann) { struct rb_node *nd = rb_first_cached(&hists->entries), *next; @@ -333,7 +333,7 @@ find_next: if (use_browser == 2) { int ret; int (*annotate)(struct hist_entry *he, - struct perf_evsel *evsel, + struct evsel *evsel, struct hist_browser_timer *hbt); annotate = dlsym(perf_gtk_handle, @@ -387,7 +387,7 @@ static int __cmd_annotate(struct perf_annotate *ann) { int ret; struct perf_session *session = ann->session; - struct perf_evsel *pos; + struct evsel *pos; u64 total_nr_samples; if (ann->cpu_list) { |