Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754315AbbHJGRS (ORCPT ); Mon, 10 Aug 2015 02:17:18 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:47433 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752894AbbHJGRP (ORCPT ); Mon, 10 Aug 2015 02:17:15 -0400 From: Wang Nan To: , CC: , , , , , , , , , , , , Subject: [GIT PULL 00/27] perf tools: filtering events using eBPF programs Date: Mon, 10 Aug 2015 06:15:42 +0000 Message-ID: <1439187369-66492-1-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.3.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.107.193.248] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5097 Lines: 111 Hi Arnaldo, This is patches needs to be reviewed after Ingo's pull. In this series, I made following improvements: 1. Remove all pr_err and introduce bpf__strerror_{prepare_load,probe,load}. All callers are switched to strerror style; 2. Avoid the global 'struct perf_probe_event' array used by perf__probe(). This is done by moving config_bpf_program() to bpf__probe(). The following changes since commit 64d3e6a927b9fef30efafc0aacab563a3065db24: perf tools: Unset perf_event_attr::freq when period term is set (2015-08-08 14:32:00 -0300) are available in the git repository at: https://github.com/WangNan0/linux.git ebpf for you to fetch changes up to 947b8f665e9ad50071ba5e83cbfb54345706ba98: perf tools: Support attach BPF program on uprobe events (2015-08-09 16:45:16 +0000) ---------------------------------------------------------------- He Kuang (3): perf tools: Move linux/filter.h to tools/include perf tools: Introduce arch_get_reg_info() for x86 perf record: Support custom vmlinux path Wang Nan (24): perf tools: Make perf depend on libbpf perf ebpf: Add the libbpf glue perf tools: Enable passing bpf object file to --event perf probe: Attach trace_probe_event with perf_probe_event perf record, bpf: Parse and probe eBPF programs probe points perf bpf: Collect 'struct perf_probe_event' for bpf_program perf record: Load all eBPF object into kernel perf tools: Add bpf_fd field to evsel and config it perf tools: Attach eBPF program to perf event perf tools: Suppress probing messages when probing by BPF loading perf record: Add clang options for compiling BPF scripts perf tools: Infrastructure for compiling scriptlets when passing '.c' to --event perf tests: Enforce LLVM test for BPF test perf test: Enable 'perf test' run as test targets perf test: Add 'perf test BPF' bpf tools: Load a program with different instances using preprocessor perf tools: Fix probe-event.h include perf probe: Reset args and nargs for probe_trace_event when failure perf tools: Add BPF_PROLOGUE config options for further patches perf tools: Add prologue for BPF programs for fetching arguments perf tools: Generate prologue for BPF programs perf tools: Use same BPF program if arguments are identical perf probe: Init symbol as kprobe perf tools: Support attach BPF program on uprobe events tools/build/Makefile.feature | 6 +- tools/include/linux/filter.h | 237 ++++++++++++ tools/lib/bpf/libbpf.c | 143 ++++++- tools/lib/bpf/libbpf.h | 22 ++ tools/perf/MANIFEST | 4 + tools/perf/Makefile.perf | 19 +- tools/perf/arch/x86/Makefile | 1 + tools/perf/arch/x86/util/Build | 2 + tools/perf/arch/x86/util/dwarf-regs.c | 104 +++-- tools/perf/builtin-probe.c | 4 +- tools/perf/builtin-record.c | 52 ++- tools/perf/config/Makefile | 31 +- tools/perf/tests/Build | 10 +- tools/perf/tests/bpf-script-example.c | 44 +++ tools/perf/tests/bpf.c | 229 +++++++++++ tools/perf/tests/builtin-test.c | 61 +++ tools/perf/tests/llvm.c | 123 +++++- tools/perf/tests/llvm.h | 15 + tools/perf/tests/make | 4 +- tools/perf/tests/tests.h | 5 + tools/perf/util/Build | 2 + tools/perf/util/bpf-loader.c | 707 ++++++++++++++++++++++++++++++++++ tools/perf/util/bpf-loader.h | 82 ++++ tools/perf/util/bpf-prologue.c | 442 +++++++++++++++++++++ tools/perf/util/bpf-prologue.h | 34 ++ tools/perf/util/evlist.c | 41 ++ tools/perf/util/evlist.h | 1 + tools/perf/util/evsel.c | 17 + tools/perf/util/evsel.h | 1 + tools/perf/util/include/dwarf-regs.h | 7 + tools/perf/util/parse-events.c | 26 ++ tools/perf/util/parse-events.h | 4 + tools/perf/util/parse-events.l | 6 + tools/perf/util/parse-events.y | 29 +- tools/perf/util/probe-event.c | 79 ++-- tools/perf/util/probe-event.h | 8 +- tools/perf/util/probe-file.c | 5 +- tools/perf/util/probe-finder.c | 4 + 38 files changed, 2512 insertions(+), 99 deletions(-) create mode 100644 tools/include/linux/filter.h create mode 100644 tools/perf/tests/bpf-script-example.c create mode 100644 tools/perf/tests/bpf.c create mode 100644 tools/perf/tests/llvm.h create mode 100644 tools/perf/util/bpf-loader.c create mode 100644 tools/perf/util/bpf-loader.h create mode 100644 tools/perf/util/bpf-prologue.c create mode 100644 tools/perf/util/bpf-prologue.h -- 1.8.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/