From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756902AbcAZJMR (ORCPT ); Tue, 26 Jan 2016 04:12:17 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:38701 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751007AbcAZJMG (ORCPT ); Tue, 26 Jan 2016 04:12:06 -0500 Message-ID: <56A73840.9070506@huawei.com> Date: Tue, 26 Jan 2016 17:11:28 +0800 From: "Wangnan (F)" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Arnaldo Carvalho de Melo CC: Alexei Starovoitov , Brendan Gregg , pi3orama , lizefan 00213767 , Subject: [offlist] Re: [GIT PULL 00/54] perf tools: Bugfix, BPF improvements and overwrite ring buffer support References: <1453715801-7732-1-git-send-email-wangnan0@huawei.com> In-Reply-To: <1453715801-7732-1-git-send-email-wangnan0@huawei.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.111.66.109] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090205.56A73858.014D,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: c5cbf89fb2b6d4d9af26cc43bdc0a402 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnaldo, We didn't make too much progress on this patchset for several weeks. Kernel support of bpf-output has already been merged by v4.4, but perf side code is still missing in v4.5. Do you have any plan on it? Brendan asked this feature this month. I think he would be disappointed because he still unable to use them on v4.5 kernel... Thank you. On 2016/1/25 17:55, Wang Nan wrote: > Hi Arnaldo, > > The following changes since commit 512e583b2d4a35b644c8ff36e033b90be7e91c2e: > > perf hists browser: Offer non-symbol specific menu options for --sort without 'sym' (2016-01-22 14:28:48 -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 7c8463658d92b82c2a8db9f405b50ae814b91f71: > > perf tools: Don't warn about out of order event if write_backward is used (2016-01-25 09:49:15 +0000) > > ---------------------------------------------------------------- > perf improvements: > > - Bug fixes: > libbpf relocation checker for a llvm bug > fix symbol searching for offline modules > > - Building scripts: > Use feature-dump results for build-test > > - BPF related improvements: > Enable indices syntax to support init BPF maps > Support BPF output events support > > - perf/core: > Add write_backward attribute bit to support reading from > overwrite ring buffer > > - perf record improvements: > Enable perf record dump different output > Support reading from overwrite ring buffer based on write_backward > attribute > > Signed-off-by: Wang Nan > > ---------------------------------------------------------------- > He Kuang (1): > perf tools: Support perf event alias name > > Wang Nan (53): > perf test: Add libbpf relocation checker > perf bpf: Check relocation target section > tools build: Allow subprojects select all feature checkers > perf build: Select all feature checkers for feature-dump > perf build: Use feature dump file for build-test > perf test: Check environment before start real BPF test > perf tools: Fix symbols searching for offline module in buildid-cache > perf test: Improve bp_signal > 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: Support setting different slots in a BPF map separately > perf tools: Enable indices setting syntax for BPF maps > perf tools: Introduce bpf-output event > perf data: Support converting data from bpf_perf_event_output() > 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: Introduce API to pause ring buffer > perf tools: Only validate is_pos for tracking evsels > perf tools: Print write_backward value in perf_event_attr__fprintf > perf tools: Move timestamp creation to util > 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: Use OPT_BOOLEAN_SET for buildid cache related options > 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 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/build/Makefile.feature | 21 +- > tools/lib/bpf/libbpf.c | 34 +- > tools/perf/Makefile.perf | 11 +- > tools/perf/builtin-buildid-cache.c | 14 +- > tools/perf/builtin-record.c | 608 ++++++++++++++++++---- > tools/perf/perf.h | 2 + > tools/perf/tests/.gitignore | 1 + > tools/perf/tests/Build | 9 +- > tools/perf/tests/bp_signal.c | 140 +++++- > tools/perf/tests/bpf-script-test-relocation.c | 50 ++ > tools/perf/tests/bpf.c | 63 ++- > tools/perf/tests/llvm.c | 17 +- > tools/perf/tests/llvm.h | 5 +- > tools/perf/tests/make | 31 ++ > tools/perf/util/bpf-loader.c | 699 ++++++++++++++++++++++++++ > tools/perf/util/bpf-loader.h | 59 +++ > tools/perf/util/build-id.c | 44 ++ > tools/perf/util/build-id.h | 1 + > tools/perf/util/data-convert-bt.c | 112 ++++- > tools/perf/util/data.c | 36 ++ > tools/perf/util/data.h | 11 +- > tools/perf/util/evlist.c | 314 ++++++++++-- > tools/perf/util/evlist.h | 67 ++- > tools/perf/util/evsel.c | 30 ++ > tools/perf/util/evsel.h | 13 + > tools/perf/util/ordered-events.c | 5 + > tools/perf/util/parse-events.c | 139 ++++- > tools/perf/util/parse-events.h | 24 +- > tools/perf/util/parse-events.l | 18 +- > tools/perf/util/parse-events.y | 123 ++++- > tools/perf/util/record.c | 11 + > tools/perf/util/session.c | 22 +- > tools/perf/util/symbol.c | 4 + > tools/perf/util/util.c | 17 + > tools/perf/util/util.h | 1 + > 40 files changed, 2689 insertions(+), 240 deletions(-) > create mode 100644 tools/perf/tests/bpf-script-test-relocation.c >