From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753769AbbGIMik (ORCPT ); Thu, 9 Jul 2015 08:38:40 -0400 Received: from szxga01-in.huawei.com ([58.251.152.64]:31413 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753219AbbGIMgS (ORCPT ); Thu, 9 Jul 2015 08:36:18 -0400 From: Wang Nan To: , CC: , , , , Subject: [GIT PULL 00/39] perf tools: filtering events using eBPF programs Date: Thu, 9 Jul 2015 12:35:03 +0000 Message-ID: <1436445342-1402-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.197.200] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnaldo, The following changes since commit 3381a29cbec5447086c0f726ee9a88c02e60becc: bpf tools: Collect map definitions from 'maps' section (2015-07-07 13:41:45 -0300) are available in the git repository at: https://github.com/WangNan0/linux.git perf/ebpf-for-acme for you to fetch changes up to 072b826c5dc6b2031f4f21c59c57eb6ca1dfa7c0: perf tools: Support attach BPF program on uprobe events (2015-07-09 12:20:13 +0000) ---------------------------------------------------------------- This pull request is based on commit 3381a29cb on your perf/ebpf branch as your suggestion. Following changes are made: 1. Commit messages improvements, especially 'bpf tools: Collect symbol table from SHT_SYMTAB section', which you have collected. Please change them. 2. Update interface of bpf_program accessors as your suggestion. 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 (36): bpf tools: Collect symbol table from SHT_SYMTAB section bpf tools: Collect eBPF programs from their own sections bpf tools: Collect relocation sections from SHT_REL sections bpf tools: Record map accessing instructions for each program bpf tools: Add bpf.c/h for common bpf operations bpf tools: Create eBPF maps defined in an object file bpf tools: Relocate eBPF programs bpf tools: Introduce bpf_load_program() to bpf.c bpf tools: Load eBPF programs in object files into kernel bpf tools: Introduce accessors for struct bpf_program bpf tools: Link all bpf objects onto a list perf tools: Introduce llvm config options perf tools: Call clang to compile C source to object code perf tools: Auto detecting kernel build directory perf tools: Auto detecting kernel include options perf tests: Add LLVM test for eBPF on-the-fly compiling perf tools: Make perf depend on libbpf perf record: Enable passing bpf object file to --event perf record: Compile scriptlets if pass '.c' to --event perf tools: Parse probe points of eBPF programs during preparation perf probe: Attach trace_probe_event with perf_probe_event perf record: Probe at kprobe points 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 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 if any event is kprobe perf tools: Support attach BPF program on uprobe events tools/build/Makefile.feature | 6 +- tools/include/linux/filter.h | 237 +++++++++++ tools/lib/bpf/Build | 2 +- tools/lib/bpf/bpf.c | 85 ++++ tools/lib/bpf/bpf.h | 23 ++ tools/lib/bpf/libbpf.c | 745 ++++++++++++++++++++++++++++++++++ tools/lib/bpf/libbpf.h | 70 ++++ 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 | 47 ++- tools/perf/config/Makefile | 31 +- tools/perf/tests/Build | 1 + tools/perf/tests/builtin-test.c | 4 + tools/perf/tests/llvm.c | 85 ++++ tools/perf/tests/make | 4 +- tools/perf/tests/tests.h | 1 + tools/perf/util/Build | 3 + tools/perf/util/bpf-loader.c | 631 ++++++++++++++++++++++++++++ tools/perf/util/bpf-loader.h | 46 +++ tools/perf/util/bpf-prologue.c | 442 ++++++++++++++++++++ tools/perf/util/bpf-prologue.h | 34 ++ tools/perf/util/config.c | 4 + tools/perf/util/debug.c | 5 + tools/perf/util/debug.h | 1 + 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/llvm-utils.c | 373 +++++++++++++++++ tools/perf/util/llvm-utils.h | 39 ++ tools/perf/util/parse-events.c | 16 + tools/perf/util/parse-events.h | 2 + tools/perf/util/parse-events.l | 6 + tools/perf/util/parse-events.y | 29 +- tools/perf/util/probe-event.c | 84 ++-- tools/perf/util/probe-event.h | 8 +- tools/perf/util/probe-finder.c | 4 + 42 files changed, 3192 insertions(+), 77 deletions(-) create mode 100644 tools/include/linux/filter.h create mode 100644 tools/lib/bpf/bpf.c create mode 100644 tools/lib/bpf/bpf.h create mode 100644 tools/perf/tests/llvm.c 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 create mode 100644 tools/perf/util/llvm-utils.c create mode 100644 tools/perf/util/llvm-utils.h -- 1.8.3.4