diff options
author | Wang Nan <wangnan0@huawei.com> | 2016-07-13 06:44:04 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-07-13 22:09:03 -0400 |
commit | cd102d70fe957b060b9df6bc4f54684de3fe00cd (patch) | |
tree | b8743f75355d1682f4e90c0aa5425a0037d42e6b /tools/perf/util/parse-events.c | |
parent | 8c619d6a333f98087816e64c62f0f2389e19ab4a (diff) |
perf bpf: Rename bpf__foreach_tev() to bpf__foreach_event()
Following commit will allow BPF script attach to tracepoints.
bpf__foreach_tev() will iterate over all events, not only kprobes.
Rename it to bpf__foreach_event().
Since only group and event are used by caller, there's no need to pass
full 'struct probe_trace_event' to bpf_prog_iter_callback_t. Pass only
these two strings. After this patch bpf_prog_iter_callback_t natually
support tracepoints.
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1468406646-21642-5-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/parse-events.c')
-rw-r--r-- | tools/perf/util/parse-events.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index d866824f2b42..6b4fff375d99 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c | |||
@@ -584,7 +584,7 @@ struct __add_bpf_event_param { | |||
584 | struct list_head *head_config; | 584 | struct list_head *head_config; |
585 | }; | 585 | }; |
586 | 586 | ||
587 | static int add_bpf_event(struct probe_trace_event *tev, int fd, | 587 | static int add_bpf_event(const char *group, const char *event, int fd, |
588 | void *_param) | 588 | void *_param) |
589 | { | 589 | { |
590 | LIST_HEAD(new_evsels); | 590 | LIST_HEAD(new_evsels); |
@@ -595,27 +595,27 @@ static int add_bpf_event(struct probe_trace_event *tev, int fd, | |||
595 | int err; | 595 | int err; |
596 | 596 | ||
597 | pr_debug("add bpf event %s:%s and attach bpf program %d\n", | 597 | pr_debug("add bpf event %s:%s and attach bpf program %d\n", |
598 | tev->group, tev->event, fd); | 598 | group, event, fd); |
599 | 599 | ||
600 | err = parse_events_add_tracepoint(&new_evsels, &evlist->idx, tev->group, | 600 | err = parse_events_add_tracepoint(&new_evsels, &evlist->idx, group, |
601 | tev->event, evlist->error, | 601 | event, evlist->error, |
602 | param->head_config); | 602 | param->head_config); |
603 | if (err) { | 603 | if (err) { |
604 | struct perf_evsel *evsel, *tmp; | 604 | struct perf_evsel *evsel, *tmp; |
605 | 605 | ||
606 | pr_debug("Failed to add BPF event %s:%s\n", | 606 | pr_debug("Failed to add BPF event %s:%s\n", |
607 | tev->group, tev->event); | 607 | group, event); |
608 | list_for_each_entry_safe(evsel, tmp, &new_evsels, node) { | 608 | list_for_each_entry_safe(evsel, tmp, &new_evsels, node) { |
609 | list_del(&evsel->node); | 609 | list_del(&evsel->node); |
610 | perf_evsel__delete(evsel); | 610 | perf_evsel__delete(evsel); |
611 | } | 611 | } |
612 | return err; | 612 | return err; |
613 | } | 613 | } |
614 | pr_debug("adding %s:%s\n", tev->group, tev->event); | 614 | pr_debug("adding %s:%s\n", group, event); |
615 | 615 | ||
616 | list_for_each_entry(pos, &new_evsels, node) { | 616 | list_for_each_entry(pos, &new_evsels, node) { |
617 | pr_debug("adding %s:%s to %p\n", | 617 | pr_debug("adding %s:%s to %p\n", |
618 | tev->group, tev->event, pos); | 618 | group, event, pos); |
619 | pos->bpf_fd = fd; | 619 | pos->bpf_fd = fd; |
620 | } | 620 | } |
621 | list_splice(&new_evsels, list); | 621 | list_splice(&new_evsels, list); |
@@ -661,7 +661,7 @@ int parse_events_load_bpf_obj(struct parse_events_evlist *data, | |||
661 | goto errout; | 661 | goto errout; |
662 | } | 662 | } |
663 | 663 | ||
664 | err = bpf__foreach_tev(obj, add_bpf_event, ¶m); | 664 | err = bpf__foreach_event(obj, add_bpf_event, ¶m); |
665 | if (err) { | 665 | if (err) { |
666 | snprintf(errbuf, sizeof(errbuf), | 666 | snprintf(errbuf, sizeof(errbuf), |
667 | "Attach events in BPF object failed"); | 667 | "Attach events in BPF object failed"); |