From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1428109AbcBSMH1 (ORCPT ); Fri, 19 Feb 2016 07:07:27 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:20048 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1947245AbcBSLqo (ORCPT ); Fri, 19 Feb 2016 06:46:44 -0500 From: Wang Nan To: Alexei Starovoitov , Arnaldo Carvalho de Melo , Arnaldo Carvalho de Melo , Brendan Gregg CC: Adrian Hunter , Cody P Schafer , "David S. Miller" , He Kuang , =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?= , Jiri Olsa , Kirill Smelkov , Li Zefan , Masami Hiramatsu , Namhyung Kim , Peter Zijlstra , , Wang Nan , Subject: [PATCH 00/55] perf tools: Bugfix, BPF improvements and overwrite ring buffer support Date: Fri, 19 Feb 2016 11:43:48 +0000 Message-ID: <1455882283-79592-1-git-send-email-wangnan0@huawei.com> X-Mailer: git-send-email 1.8.3.4 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.107.193.248] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A0B0203.56C70042.01FA,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: e35af00417fda06b050ada4519437661 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnaldo, This is this week's perf BPF and overwrite ring buffer patch set. Please note that this patch set is based on your perf/core, not tmp.perf/bpf_map, because there is a bug similar to what Jiri pointed out in commit 5c78fe3 in the bpf_map branch. A bug related to newest libbabeltrace is found and fixed. Similar to commit 5141d73, this fix is safe to old version of libbabeltrace. The following changes since commit 1a3dcca461e81fbee1e588b2e6e1eae0b2b911d3: perf stat: Handled scaled == -1 case for counters (2016-02-18 13:50:49 -0300) are available in the git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/pi3orama/linux.git tags/perf-core-for-acme for you to fetch changes up to 6b8e82587380be165876e423b9d46f41cb5b4020: perf tools: Don't warn about out of order event if write_backward is used (2016-02-19 11:26:57 +0000) ---------------------------------------------------------------- perf improvements: - Bug fix: byte order of the first BPF output sample incorrect when converting to CTF. - Fix compiling warning Jiri found. - Improve error messages. Signed-off-by: Wang Nan ---------------------------------------------------------------- Wang Nan (55): perf tools: Record text offset in dso to calculate objdump address perf tools: Adjust symbol for shared objects perf tools: Rename bpf_prog_priv__clear() to clear_prog_priv() perf tools: Fix checking asprintf return value perf tools: Add API to config maps in bpf object perf tools: Enable BPF object configure syntax perf record: Apply config to BPF objects before recording perf tools: Enable passing event to BPF object perf tools: Create config_term_names array perf stat: Forbid user passing improper config terms perf tools: Rename and move pmu_event_name to get_config_name perf tools: Enable config raw and numeric events perf tools: Enable config and setting names for legacy cache events perf tools: Support setting different slots in a BPF map separately perf tools: Enable indices setting syntax for BPF maps perf tools: Pass tracepoint options to BPF script perf tools: Introduce bpf-output event perf data: Support converting data from bpf_perf_event_output() perf data: Explicitly set byte order for integer types perf core: Introduce new ioctl options to pause and resume ring buffer perf core: Set event's default overflow_handler perf core: Prepare writing into ring buffer from end perf core: Add backward attribute to perf event perf core: Reduce perf event output overhead by new overflow handler perf tools: Only validate is_pos for tracking evsels perf tools: Print write_backward value in perf_event_attr__fprintf perf tools: Make ordered_events reusable perf record: Extract synthesize code to record__synthesize() perf tools: Add perf_data_file__switch() helper perf record: Turns auxtrace_snapshot_enable into 3 states perf record: Introduce record__finish_output() to finish a perf.data perf record: Add '--timestamp-filename' option to append timestamp to output filename perf record: Split output into multiple files via '--switch-output' perf record: Force enable --timestamp-filename when --switch-output is provided perf record: Disable buildid cache options by default in switch output mode perf record: Re-synthesize tracking events after output switching perf record: Generate tracking events for process forked by perf perf record: Ensure return non-zero rc when mmap fail perf record: Prevent reading invalid data in record__mmap_read perf tools: Add evlist channel helpers perf tools: Automatically add new channel according to evlist perf tools: Operate multiple channels perf tools: Squash overwrite setting into channel perf record: Don't read from and poll overwrite channel perf record: Don't poll on overwrite channel perf tools: Detect avalibility of write_backward perf tools: Enable overwrite settings perf tools: Set write_backward attribut bit for overwrite events perf tools: Record fd into perf_mmap perf tools: Add API to pause a channel perf record: Toggle overwrite ring buffer for reading perf record: Rename variable to make code clear perf record: Read from backward ring buffer perf record: Allow generate tracking events at the end of output perf tools: Don't warn about out of order event if write_backward is used include/linux/perf_event.h | 22 +- include/uapi/linux/perf_event.h | 4 +- kernel/events/core.c | 73 +++- kernel/events/internal.h | 11 + kernel/events/ring_buffer.c | 63 +++- tools/perf/builtin-record.c | 598 ++++++++++++++++++++++++++----- tools/perf/builtin-stat.c | 1 + tools/perf/perf.h | 2 + tools/perf/tests/bpf.c | 2 +- tools/perf/tests/parse-events.c | 52 +++ tools/perf/util/bpf-loader.c | 724 +++++++++++++++++++++++++++++++++++++- tools/perf/util/bpf-loader.h | 59 ++++ tools/perf/util/data-convert-bt.c | 118 ++++++- tools/perf/util/data.c | 36 ++ tools/perf/util/data.h | 11 +- tools/perf/util/dso.h | 1 + tools/perf/util/evlist.c | 355 +++++++++++++++++-- tools/perf/util/evlist.h | 70 +++- tools/perf/util/evsel.c | 23 ++ tools/perf/util/evsel.h | 11 + tools/perf/util/map.c | 14 + tools/perf/util/ordered-events.c | 5 + tools/perf/util/parse-events.c | 309 ++++++++++++++-- tools/perf/util/parse-events.h | 27 +- tools/perf/util/parse-events.l | 21 +- tools/perf/util/parse-events.y | 134 ++++++- tools/perf/util/record.c | 11 + tools/perf/util/session.c | 22 +- tools/perf/util/symbol-elf.c | 25 +- 29 files changed, 2565 insertions(+), 239 deletions(-)