| From | Wang Nan <> | Subject | [RFC PATCH v3 37/37] perf tools: Attach eBPF program to perf event | Date | Sun, 17 May 2015 10:57:02 +0000 |
| |
In this patch PERF_EVENT_IOC_SET_BPF ioctl is used to attach eBPF program to a newly created perf event. The file descriptor of the eBPF program is passed to perf record using previous patches, and stored into evsel->bpf_fd.
Signed-off-by: Wang Nan <wangnan0@huawei.com> --- tools/perf/util/evsel.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 04d60a7..62c0a8c 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -1201,6 +1201,22 @@ retry_open: err); goto try_fallback; } + + if (evsel->bpf_fd >= 0) { + int evt_fd = FD(evsel, cpu, thread); + int bpf_fd = evsel->bpf_fd; + + err = ioctl(evt_fd, + PERF_EVENT_IOC_SET_BPF, + bpf_fd); + if (err) { + pr_err("failed to attach bpf fd %d\n", + bpf_fd); + err = -EINVAL; + goto out_close; + } + } + set_rlimit = NO_CHANGE; /* -- 1.8.3.4
|