On Sat, Aug 29, 2015 at 04:21:52AM +0000, Wang Nan wrote: > This patch adds BPF testcase for testing BPF event filtering. > > By utilizing the result of 'perf test LLVM', this patch compiles the > eBPF sample program then test it ability. The BPF script in 'perf test > LLVM' collects half of execution of epoll_pwait(). This patch runs 111 > times of it, so the resule should contains 56 samples. > > Signed-off-by: Wang Nan <wangn...@huawei.com> > Cc: Arnaldo Carvalho de Melo <a...@redhat.com> > Cc: Alexei Starovoitov <a...@plumgrid.com> > Cc: Brendan Gregg <brendan.d.gr...@gmail.com> > Cc: Daniel Borkmann <dan...@iogearbox.net> > Cc: David Ahern <dsah...@gmail.com> > Cc: He Kuang <heku...@huawei.com> > Cc: Jiri Olsa <jo...@kernel.org> > Cc: Kaixu Xia <xiaka...@huawei.com> > Cc: Masami Hiramatsu <masami.hiramatsu...@hitachi.com> > Cc: Namhyung Kim <namhy...@kernel.org> > Cc: Peter Zijlstra <a.p.zijls...@chello.nl> > Cc: Zefan Li <lize...@huawei.com> > Cc: pi3or...@163.com > Link: > http://lkml.kernel.org/n/1440151770-129878-16-git-send-email-wangn...@huawei.com > ---
[SNIP] > +static int prepare_bpf(void *obj_buf, size_t obj_buf_sz) > +{ > + int err; > + char errbuf[BUFSIZ]; > + > + err = bpf__prepare_load_buffer(obj_buf, obj_buf_sz, NULL); > + if (err) { > + bpf__strerror_prepare_load("[buffer]", false, err, errbuf, > + sizeof(errbuf)); > + fprintf(stderr, " (%s)", errbuf); > + return TEST_FAIL; > + } > + > + err = bpf__probe(); > + if (err) { > + bpf__strerror_load(err, errbuf, sizeof(errbuf)); > + fprintf(stderr, " (%s)", errbuf); > + if (getuid() != 0) geteuid() ? Thanks, Namhyung > + fprintf(stderr, " (try run as root)"); > + return TEST_FAIL; > + } > + > + err = bpf__load(); > + if (err) { > + bpf__strerror_load(err, errbuf, sizeof(errbuf)); > + fprintf(stderr, " (%s)", errbuf); > + return TEST_FAIL; > + } > + > + return 0; > +} -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/