Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752238AbbFDGJs (ORCPT ); Thu, 4 Jun 2015 02:09:48 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:12358 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751364AbbFDGJl (ORCPT ); Thu, 4 Jun 2015 02:09:41 -0400 Message-ID: <556FEB32.8040909@huawei.com> Date: Thu, 4 Jun 2015 14:07:46 +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: Ingo Molnar , Arnaldo Carvalho de Melo CC: , Adrian Hunter , Alexei Starovoitov , Brendan Gregg , Daniel Borkmann , "David Ahern" , He Kuang , Jiri Olsa , Kaixu Xia , Madhavan Srinivasan , Masami Hiramatsu , Michael Ellerman , Namhyung Kim , Peter Zijlstra , , Sukadev Bhattiprolu , "Zefan Li" , Arnaldo Carvalho de Melo , Alexei Starovoitov , Alexei Starovoitov Subject: Re: [GIT PULL 0/6] perf/core improvements and fixes References: <1433371238-14572-1-git-send-email-acme@kernel.org> <20150604054854.GA10969@gmail.com> In-Reply-To: <20150604054854.GA10969@gmail.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 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5558 Lines: 139 On 2015/6/4 13:48, Ingo Molnar wrote: > * Arnaldo Carvalho de Melo wrote: > >> Hi Ingo, >> >> Please consider applying. >> >> One of the next requests probably will have the eBPF work by Wang Nan, >> but I am still going thru it and want to test it thoroughly. >> >> BTW: Have you looked at it lately? It is at: >> >> http://lkml.kernel.org/r/1433144296-74992-1-git-send-email-wangnan0@huawei.com >> >> Super summary from the above cover letter: >> >> --------------------- >> It enables 'perf record' to filter events using eBPF programs like: >> >> # perf record --event bpf-file.o sleep 1 >> >> Events are selected and filtered according to definitions in bpf-file.o. > Looks useful, but I think the UI needs one more tweak: could you fix it to be able > to filter based on the eBPF _source_ file, not just the object file? > > People want to tweak such filters as they profile, so we should use the eBPF > source code as the primary interface. We can compile it internally to the .o just > fine. The .o file is a totally uninteresting intermediate product in itself. > > I.e. we need to first think through such profiling workflows from beginning to end > before allowing them upstream. In a private mail Alexei Starovoitov disscussed with me about this. He said that he is working on a shared object which can compile C program into BPF bytecode on the fly. After he done his work, I think perf can support dtrace-like profiling that, users will be able to feed source code to perf directly on cmdline. He said he can release it on June. I added him to the CC-list. However I think the '.o' intermediate is still needed. I'd like to share a real profiling experience using eBPF today, please keep an eye on it. In my experience, since we are using C instead of dtrace, the code piece could be relative complex. Therefore, even if perf is able to compile the C source on the fly, I think user still need to transfer the profiling scripts to the target machine. Therefor, for him, precompiling and do some debugging on a high-end server then transfer it into target machine (like a smartphone) is tolerable, and useful for me. Thank you. >> --------------------- >> >> The first two patches from that series are in this pull req, as >> they just move stuff into tools/include/linux/ from tools/perf/include. >> >> Regards, >> >> - Arnaldo >> >> The following changes since commit 5c9b9bc67c684e40b3a5e7e9facde0fb7200cd8c: >> >> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-05-29 20:19:02 +0200) >> >> are available in the git repository at: >> >> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo >> >> for you to fetch changes up to 1f121b03d058dd07199d8924373d3c52a207f63b: >> >> perf tools: Deal with kernel module names in '[]' correctly (2015-06-03 10:02:38 -0300) >> >> ---------------------------------------------------------------- >> perf/core improvements and fixes: >> >> User visible: >> >> - Fix 'perf probe' segfault when glob matching function without debuginfo (Wang Nan) >> >> - Remove newline char when reading event scale and unit (Madhavan Srinivasan) >> >> - Deal with kernel module names in '[]' correctly (Wang Nan) >> >> Infrastructure: >> >> - Fix the search for the kernel DSO on the unified list (Arnaldo Carvalho de Melo) >> >> - Move tools/perf/util/include/linux/{kernel.h,list.h,poison.h} to tools/include, >> to be used in tools/lib/bpf/ (Wang Nan) >> >> Signed-off-by: Arnaldo Carvalho de Melo >> >> ---------------------------------------------------------------- >> Arnaldo Carvalho de Melo (1): >> perf machine: Fix the search for the kernel DSO on the unified list >> >> Madhavan Srinivasan (1): >> perf tools: Remove newline char when reading event scale and unit >> >> Wang Nan (4): >> perf probe: Fix segfault when glob matching function without debuginfo >> perf tools: Move linux/kernel.h to tools/include >> tools: Move tools/perf/util/include/linux/{list.h,poison.h} to tools/include >> perf tools: Deal with kernel module names in '[]' correctly >> >> tools/{perf/util => }/include/linux/kernel.h | 4 +- >> tools/{perf/util => }/include/linux/list.h | 6 +-- >> tools/include/linux/poison.h | 1 + >> tools/perf/MANIFEST | 3 ++ >> tools/perf/tests/kmod-path.c | 72 ++++++++++++++++++++++++++++ >> tools/perf/util/dso.c | 47 ++++++++++++++++-- >> tools/perf/util/dso.h | 2 +- >> tools/perf/util/header.c | 8 ++-- >> tools/perf/util/include/linux/poison.h | 1 - >> tools/perf/util/machine.c | 22 ++++++++- >> tools/perf/util/pmu.c | 11 ++++- >> tools/perf/util/probe-event.c | 26 ++++++++-- >> 12 files changed, 179 insertions(+), 24 deletions(-) >> rename tools/{perf/util => }/include/linux/kernel.h (97%) >> rename tools/{perf/util => }/include/linux/list.h (90%) >> create mode 100644 tools/include/linux/poison.h >> delete mode 100644 tools/perf/util/include/linux/poison.h > Pulled, thanks a lot Arnaldo! > > Ingo -- 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/